java 当失败时,要求IntelliJ遵循Maven POM在内部构建项目(构建项目,用于测试,调试),而不是自己的过程?

fcg9iug3  于 2023-09-29  发布在  Java
关注(0)|答案(2)|浏览(104)

在工作中,在家里,在开源项目上,我经常面临同样的麻烦:
1.下载一个项目。我使用 Maven 从命令行编译它并成功。
1.我打开 IntelliJ:它检测一个 Maven 项目,解决它,并显示它的源代码没有错误。
1.然后我要求它“构建项目”。它失败了,显示一条描述不存在的故障的消息。
那么,我不能:

  • 启动调试会话
  • 从IDE运行单个测试或测试类

因为 IntelliJ 希望首先以自己的方式构建项目,但未能这样做。
如何将 IntelliJ 设置为仅使用 Maven 和指定的pom来构建/刷新项目?而不是尝试另一种方法,那不会成功?
(*)我尝试用 IntelliJBuild Project 构建的项目是https://github.com/apache/spark/tree/branch-3.5,它在命令行中用 Maven 编译,用 IntelliJ 打开时显示无错误,用 Build Project 构建失败:

因为它试图做任何在任何pom中没有要求的事情。
当然,上面提到的import确实存在。
复制:
1.下载https://github.com/apache/spark/tree/branch-3.5
1.使用 Maven 编译:编译(如果你想更快,跳过测试)
1.然后,使用 IntelliJ,尝试 Build Project 或运行测试或启动调试。它会失败的。

nc1teljy

nc1teljy1#

您列出的选项由IDEA的本地构建系统处理。本机构建系统旨在尽可能接近Maven,但对于具有更高级构建逻辑和/或结构的项目可能存在差异。
对于基于Maven的项目,最好使用来自Maven Tool Window和Maven的Run/Debug Configurations的选项。
如果您仍然遇到问题,请从Settings / Preferences -> Build, Execution, Deployment -> Build Tools -> Maven -> Runner启用“Delegate IDE build/run actions to Maven”选项。

i2loujxw

i2loujxw2#

Idea只是解析maven依赖项并在其own way中编译。因此,如果必须执行一些maven goal来编译项目,则可能会导致idea build失败。也许你可以直接运行一个包jar来进行调试。或者找出应该执行的maven目标。

相关问题