首页 > 代码库 > Maven传递依赖的时候,同名包不同版本号的包均会下载,可是编译的时候,仅仅会载入一个高版本号的。

Maven传递依赖的时候,同名包不同版本号的包均会下载,可是编译的时候,仅仅会载入一个高版本号的。

描写叙述,在一个Maven项目中。同一时候依赖了spring-tomcat-weaver  和  struts-core 包。可是spring-tomcat-weaver 须要commons-digester-1.2

  struts-core 须要commons-digester-1.8

Pom文件例如以下:

	<dependencies>		<dependency>		    <!-- 须要commons-digester-1.2包 -->		    <groupId>org.springframework</groupId>            <artifactId>spring-tomcat-weaver</artifactId>            <version>2.5.6</version>		</dependency>				<dependency>		    <!-- 须要commons-digester-1.8包 -->		  <groupId>org.apache.struts</groupId>		  <artifactId>struts-core</artifactId>		  <version>1.3.10</version>		</dependency>			</dependencies>

在maven打包的时候,commons-digester 的1.2  和1.8两个版本号的jar包都会下载下来,可是编译的时候,仅仅会包括1.8版本号。 
图片例如以下:运行的命令是:mvn dependency:tree 查看依赖的树。

技术分享

技术分享

 

Maven传递依赖的时候,同名包不同版本号的包均会下载,可是编译的时候,仅仅会载入一个高版本号的。