Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 模块依赖与人工制品_Java_Maven_Pom.xml_Artifactory - Fatal编程技术网

Java 模块依赖与人工制品

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>

我们有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>

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的责任在不同的团队中,那么把他们放在同一个多模块项目中是没有用的。非常感谢!现在我更好地理解了为什么人们想要创建一个多模块项目。