使用 pom-packaging maven 项目作为依赖
Posted
技术标签:
【中文标题】使用 pom-packaging maven 项目作为依赖【英文标题】:Use pom-packaging maven project as dependency 【发布时间】:2017-02-23 06:28:05 【问题描述】:我正在咨询一个关于在另一个项目中项的问题。我尝试阅读 maven 的文档并在线搜索,但我找到的解决方案很少。
pom-packaging 项目由多个jar-packaging 子模块组成,类似于:
<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 的子模块 jars。我这样写:
<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 添加到另一个项目的类路径中,但它似乎不适合我。
我不希望手动将所有子模块添加为依赖项。
【问题讨论】:
【参考方案1】:你的 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>
【讨论】:
谢谢,这行得通。虽然我认为应该有一些插件在部署时自动生成这样的聚合 pom。 是的,应该有一个用于生成聚合 pom 的标志以上是关于使用 pom-packaging maven 项目作为依赖的主要内容,如果未能解决你的问题,请参考以下文章
myecplise新建Maven项目Filter选什么,使用myeclipse建立maven项目
maven项目中添加MySql依赖失败(以及maven的安装到maven项目的使用过程)