1. 子工程中同时出现 parent /dependencyManagement import ,依赖的父工程中有相同的依赖
测试结果,已parent中的为准,所以这是个坑注意。。。。。
子工程中同时出现 parent / 依赖其他model ChildD ,并且依赖的信息在两个工程中都有,那以parent为准
测试工程 ChildB
2. 如果子工程的pom文件中已经有,并且还有版本号,已pom为准,如果没有版本号,在parent中有,已parent
为准,如果这个也没有,已dependencyManagement 为准,此外会报错
3. 依赖两个其他的工程,是根据路径来选择
测试依赖原则
①路径最短者优先,ChildA 有继承
<dependency>
<groupId>com.thomas.yang</groupId>
<artifactId>ChildA</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!--4.9-->
<dependency>
<groupId>com.thomas.yang</groupId>
<artifactId>ChildD</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
②路径相同时先声明者优先,ChildA没有继承
<dependency>
<groupId>com.thomas.yang</groupId>
<artifactId>ChildA</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!--4.9-->
<dependency>
<groupId>com.thomas.yang</groupId>
<artifactId>ChildD</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
测试源码地址:https://gitee.com/Thomas520021/maven_depend.git