【发布时间】:2018-06-29 09:55:22
【问题描述】:
我们有如下的maven聚合pom项目
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.abc</groupId>
<artifactId>project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>module-1</module>
<module>module-2</module>
<module>module-n</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.xyz<groupId>
<artifactId>framework</artifactId>
<version>1.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xyz</groupId>
<artifactId>dao</artifactId>
<version>1.1.1-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
module-2 依赖于 module-1 AND module-n 具有 module-1 & module-2 的依赖关系。
maven reactor 可以解析所有模块间依赖(构建顺序为module-1、module-2、module-n)。
com.xyz 中的一些共享组件也被模块(例如框架)使用。它们是从远程工件服务器中检索的,而模块间依赖项工件(例如 module-1.jar)是在 maven 构建期间在本地检索的。
我的问题是关联依赖项的最佳方式是什么。按模块还是按工件服务器中存储的工件?这个例子有两种用法。我不知道我们应该在哪种情况下进行
1) 将所有相互依赖的模块分组在同一个父 pom 下或
2) 始终从远程工件仓库中提取依赖的工件,并让每个模块独立构建
有什么优点和缺点吗?对不起我的英语不好。我希望我的问题很清楚。谢谢!
【问题讨论】:
标签: java maven pom.xml artifactory