maven的依赖冲突时的原则
1.如图:
假设上图中的项目B引入了一个junit.jar架包是3.0的版本
项目D引入了一个junit.jar架包是4.0的版本,那么项目X引用的将会是4.0的版本
2.pom.xml排到最前面的架包优先:
A—B—Cge
A—N—Cge
假设项目B引入了一个junit.jar架包是3.0的版本
项目N引入了一个junit.jar架包是4.0的版本
项目C在pom.xml的依赖先后顺序如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.imooc.Cge</groupId> <artifactId>Cge</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>Cge</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>com.imooc.N</groupId> <artifactId>N</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.imooc.B</groupId> <artifactId>B</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> </project>
最后项目Cge将会引用junit.jar架包是4.0的版本
周永发