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

Posted yutingliuyl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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传递依赖的时候,同名包不同版本号的包均会下载,可是编译的时候,仅仅会载入一个高版本号的。的主要内容,如果未能解决你的问题,请参考以下文章

Maven怎么处理引用的jar版本冲突

Maven怎么处理引用的jar版本冲突

Maven 依赖项 - 版本与更新

maven-传递依赖和依赖冲突版本解决

maven-传递依赖和依赖冲突版本解决

maven 依赖排除 是排除低版本的还是高版本