我已经对所有内容进行了搜索和堆栈溢出,但是可能还不够,因为我仍然不清楚一个人如何将Maven项目的模块作为依赖项添加到另一个项目中。
例如,假设我们有:
MajorPager
|___ POM.xml
|___ chuck-commons-core
| |____POM.xml
|____rajni-commons-core
|____POM.xml
现在,我想添加chuck-commons-core
,而不是rajni-commons-core
。如果直接执行此操作,则找不到模块。因此,我遇到了以下有关堆栈溢出和我的老朋友Guggal的讨论:
总而言之,下面的讨论只讨论如何创建多模块项目,而不是真正地将顶级POM中的子模块包含到另一个项目中。
SO
Adding a reference to a parent POM project SO
How to add a parent POM as dependency to a different maven project SO
Adding a reference to Parent POM SO
Maven Parent POM vs Modules POM SO
Depend on multi-module aggregator project SO
How to add dependency in Eclipse? SO
How do I configure Maven multi-module-dependency on sub project with different package? SO
How to add a module in parent projects POM as dependency? SO
How to add a dependency in Maven? Maven
dependency mechanism Maven
POM aggregation Baeldung
Multi-module project Codetab
Maven multi-module Howtodoinjava
Maven parent child POM example Mastertheboss
Maven multi-module tutorial Codetab
Multi-module hierarchical project Sonatype
How to share resources across projects Spring
Multi-module project 具体来说,我想听听专家的总结,他们如何将父POM的子模块添加为对另一个项目的依赖项。
答案 0 :(得分:0)
到目前为止,我认为这是最好的解决方案-将以下代码添加到MajorPager
的POM.xml中。
代码块1传入
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.teachme.how</groupId>
<artifactId>MajorPager</artifactId>
<version>0.6-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
代码块2传入
<dependencies>
...
<dependency>
<groupId>com.teachme.how</groupId>
<artifactId>norris-commons-core</artifactId>
<version>0.6</version>
</dependency>
...
</dependencies>
这样做时,使Maven可以找到依赖项的位置-从而使Maven用mvn clean -U install
或mvn package -U -DskipTests
来获取它们。如果这不是最有效的方式,我想接受教育。或者,如果上面的任何字段都是Maven不想让我指定的可选字段,因为它可以自行衍生(例如,version
标签?)-请也告诉我是否也是这种情况。