Java 模块依赖与人工制品
我们有maven聚合pom项目,如下所示Java 模块依赖与人工制品,java,maven,pom.xml,artifactory,Java,Maven,Pom.xml,Artifactory,我们有maven聚合pom项目,如下所示 <project> <modelVersion>4.0.0</modelVersion> <groupId>com.abc</groupId> <artifactId>project</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>
<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>
4.0.0
com.abc
项目
0.0.1-快照
聚甲醛
模块1
模块2
模n
com.xyz
框架
1.1.1-快照
com.xyz
刀
1.1.1-快照
模块2与模块1具有依赖关系
模块n具有模块1和模块2的依赖关系
maven reactor可以解决所有模块间的依赖关系(构建顺序为模块1、模块2、模块n)
模块也使用com.xyz中的一些共享组件(例如框架)。它们是从远程artifactory服务器检索的,而模块间依赖项工件(例如module-1.jar)是在maven构建期间在本地检索的
我的问题是关联依赖项的最佳方式是什么。是按模块还是按存储在artifactory服务器中的工件?这个例子有两种用法。我想不出在什么情况下我们应该这样做
1) 将所有相互依赖的模块分组到同一父pom或
2) 始终从远程artifactoryrepo中提取依赖的工件,并让每个模块独立构建
有什么利弊吗?对不起,我的英语很差。我希望我的问题是清楚的。谢谢大家! 经验法则是:
你总是同时建造罐子吗?然后他们应该组成一个多模块项目。您能详细说明我们什么时候要同时构建JAR吗?它与开发团队组织有关吗?它更与变更的传播有关。如果a中的更改经常导致B和C中的更改,那么您应该将它们构建在一起。强耦合jar通常一起构建。但是你在考虑组织结构时也是对的:如果A和B的责任在不同的团队中,那么把他们放在同一个多模块项目中是没有用的。非常感谢!现在我更好地理解了为什么人们想要创建一个多模块项目。