Java 从IntelliJ Idea运行Maven目标时使用IntelliJ Idea模块类路径

Java 从IntelliJ Idea运行Maven目标时使用IntelliJ Idea模块类路径,java,intellij-idea,classpath,maven,Java,Intellij Idea,Classpath,Maven,假设我有两个maven项目:moduleA和moduleB moduleA在其pom.xml中依赖于moduleB 我使用IntellijIDEA,我有“Maven项目””工具窗口,在这里我有两个Maven项目 从那里可以运行maven插件目标:我打开“maven项目”->moduleA->Plugins->jetty->jetty:run。 Java正在运行,moduleB在类路径中,但它在Maven本地存储库中 因此,如果我在moduleB源代码中更改了某些内容并执行jetty:runfro

假设我有两个maven项目:moduleA和moduleB

moduleA在其pom.xml中依赖于moduleB

我使用IntellijIDEA,我有“Maven项目””工具窗口,在这里我有两个Maven项目

从那里可以运行maven插件目标:我打开“maven项目”->moduleA->Plugins->jetty->jetty:run。 Java正在运行,moduleB在类路径中,但它在Maven本地存储库中

因此,如果我在moduleB源代码中更改了某些内容并执行jetty:runfrom Idea,我将不会看到代码更改,直到使用mvn install安装moduleB

Idea中是否有任何解决方案可以在不安装mvn的情况下进行处理,例如使用Idea模块类路径运行maven goals

  • 我建议使用Jetty集成IDEA插件来运行独立的Jetty

  • 如果您仍然想使用jetty:run,您可以告诉IDEA为moduleB进行mvn安装: 运行->编辑配置->选择你的maven运行配置->配置选项卡->启动前(在底部)->运行maven目标


  • 这个想法插件不再开发,因为IntelliJ现在包含了自己的Jetty runconfig东西

    以下是Maven多模块项目对我起作用的内容: 在文件、项目结构、模块中,我让所有模块编译到相同的输出路径(“使用模块编译输出路径”)。我在Jetty部署文件夹的文件夹中选择了“…WEB-INF\classes”路径。 然后我还必须告诉IDEA在编译时不要清除输出目录。否则,编译的每个模块(一个接一个)都会清除前一个模块中的类。设置,编译器,取消选中“重建时清除输出目录”

    此外,我必须首先将所有外部(maven)依赖项JAR放入“…WEB-INF\lib”文件夹

    是的,它很粗糙,但很有效。如果有人有更好、更干净的解决方案,我很想知道