【问题标题】:IntelliJ to use maven when running the projectIntelliJ 在运行项目时使用 maven
【发布时间】:2014-06-13 12:47:36
【问题描述】:

是否可以强制 Intellij 使用 maven pom.xml 编译项目并使用目标目录中的工件运行?

更新:

我会描述我为什么需要这个。 maven pom.xml 中有很多配置,例如将目标 jar 文件复制到某个位置,编译后方面编织。但是 Intellij 并不关心这一切,因此我需要它使用 maven pom.xml 编译然后运行。

【问题讨论】:

  • 其实idea可以关心maven的pre和post compile任务。您只需要配置 intellij 以在运行配置或 maven 窗口中运行任务。

标签: java maven intellij-idea


【解决方案1】:

我通常通过添加一个 maven 运行配置并使用 clean install exec:java 目标执行此操作

【讨论】:

  • 所以如果我想执行一些除main之外的java文件,我需要修改maven文件然后运行它吗?
  • 不,实际上你可以按照文档中的 mvn exec:java -Dexec.mainClass="com.example.Main" 进行操作 mojo.codehaus.org/exec-maven-plugin/usage.html
  • 你可以这样做,但每次都通过 maven 运行你的应用似乎并不理想。
  • 你说得对,我不知道这个功能,所以谢谢,我只是在周末使用它:)
【解决方案2】:

如果您在 maven 项目窗口中右键单击一个生命周期步骤(或一组选定的步骤),您可以选择在 make、rebuild 或 run/debug 之前或之后执行该步骤。此外,如果您查看 main 方法的运行配置,您将看到面板中名为 Before Launch: Make 的部分,您可以在其中添加要在应用程序启动之前调用的任意 maven 任务。我发现这种方法比通过 maven 运行我的应用程序更可取,因为它可以更轻松地调试并且不需要复杂的 maven 命令行。

【讨论】:

  • 我不知道这个功能,但无论如何它并不能解决问题。我需要集成aspectj(但要避免编译时编织)。例如,我创建了一个测试并运行该特定测试,如果我使用 maven,我每次更改配置时都必须编辑 pom 文件。如果我使用您描述的功能,它将运行 maven 任务,但它将使用自己的构建系统来构建和运行东西。我使用的是编译时编织,但它对 java 1.8 有很多错误
  • 在任何情况下都不需要编辑 pom 文件来更改配置。这就是配置文件的用途,这种技术将很乐意使用您为给定任务所需的任何配置文件。这种方法不会阻止您运行特定的测试——您可以为默认配置设置默认配置,其中包括您的 pre-post 构建步骤。
猜你喜欢
  • 2017-07-21
  • 2018-03-13
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 2019-03-14
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
相关资源
最近更新 更多