【问题标题】:Multiple module projects with intellij使用 intellij 的多个模块项目
【发布时间】:2015-03-13 22:13:09
【问题描述】:

我有 2 个项目,ProjectA 和 ProjectB。 ProjectB 是一个独立的项目,ProjectA 依赖于 ProjectB。 当然ProjectA中的pom有ProjectB的依赖如下:

 <overlays>
        <overlay>
            <groupId>ProjectB</groupId>
            <artifactId>ProjectBwar</artifactId>
        </overlay>
    </overlays>

...

 <dependency>
        <groupId>ProjectB</groupId>
                <artifactId>ProjectBwar</artifactId>
                <version>ProjectBVersion</version>
                <type>war</type>
</dependency>

仅使用 ProjectA 时,一切都很好。一旦我将 ProjectB 的模块导入到同一个项目中,Intellij 会很好地导入它,但它仍然使用构建的 maven 依赖项,我无法对 ProjectB 中所做的更改进行任何测试。有没有办法告诉 Intellij 不要使用 maven 依赖项,而是使用我导入的模块? 我已经尝试进入项目结构,但我不确定去哪里以及改变什么。任何帮助,将不胜感激!谢谢!

【问题讨论】:

  • 您可能希望在this example 中显示的&lt;modules&gt; 标记中指定依赖模块,而不是将其列为依赖项,如果它与您的父项在同一个项目中进行管理和使用。由于您指定它是您依赖的独立项目,因此您不要通过导入模块来使用它,您 install 项目 A 的 pom 和工件并从项目 B 中的本地 maven repo 解决它。跨度>
  • @RyanJ,pom 在 parent-pom 中有项目的所有相关模块。

标签: maven intellij-idea


【解决方案1】:

将您的库模块添加为项目依赖项,对您的库所做的任何更改都将立即在您的项目中可见。假设您的 IntelliJ 项目中有项目和库模块,请转到:

File &gt; Project Structure &gt; Modules &gt; select your project module &gt; Dependencies &gt; + &gt; Module Dependency &gt; select your library module

【讨论】:

  • 当被列为 overlay 时,只要 pom 版本匹配 Intellij 就会自动正确拾取它。当列为 dependency 时,这是正确的方法。今天我又遇到了这个问题。谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2011-11-30
相关资源
最近更新 更多