首页 > 代码库 > 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 查看依赖的树。