我正在咨询有关使用pom-packaging maven项目作为另一个项目的依赖项的问题。我尝试阅读maven的文档并在线搜索,但我找不到解决方案。
pom-packaging项目由多个子模块组成,这些子模块是jar包装,类似于:
<project ...>
<groupId>the.pom.project</groupId>
<artifactId>pom-project</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>a-pom-module</module>
<module>b-pom-module</module>
<module>c-pom-module</module>
<module>d-pom-module</module>
<module>e-pom-module</module>
<module>f-pom-module</module>
</modules>
</project>
另一个项目取决于pom-project的子模块。我写得像:
<project ...>
<groupId>the.another.project</groupId>
<artifactId>another-project</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>the.pom.project</groupId>
<artifactId>pom-project</artifactId>
<version>1.0</version>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
</project>
我尝试将pom项目添加为依赖项,旨在将所有子模块jar添加到另一个项目的类路径中,但似乎对我不起作用。
我不希望手动将所有子模块添加为依赖项。
答案 0 :(得分:4)
导入pom的方法不起作用。
您需要创建新的pom,它聚合您想要的依赖项,然后在项目中添加对该聚合pom的依赖
按如下方式创建聚合pom
<groupId>the.pom.project</groupId>
<artifactId>aggregate-pom</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>the.pom.project</groupId>
<artifactId>a-pom-module</artifactId>
<version>1.0</version>
</dependency>
.
.
.
<dependencies>
然后在项目中使用以下依赖项
<dependency>
<groupId>the.pom.project</groupId>
<artifactId>aggregate-pom</artifactId>
<version>1.0</version>
<type>pom</type>
</dependency>