maven依赖jar包时版本冲突的解决
2018-03-11 22:40
260 查看
共有四种解决方式:
1、第一声明优先原则:
在pom.xml配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效。
所以,先声明自己要用的版本的jar包即可。
2、路径近者优先:
直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,那么可以自己声明一个指定版本的依赖jar,即可解决冲突。
3、排出原则:
传递依赖冲突时,可以在不需要的jar的传递依赖中声明排除,从而解决冲突。
例子:
4、版本锁定原则(最常使用)
在配置文件pom.xml中先声明要使用哪个版本的相应jar包,声明后其他版本的jar包一律不依赖。解决了依赖冲突。
例子:
1、第一声明优先原则:
在pom.xml配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效。
所以,先声明自己要用的版本的jar包即可。
2、路径近者优先:
直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,那么可以自己声明一个指定版本的依赖jar,即可解决冲突。
3、排出原则:
传递依赖冲突时,可以在不需要的jar的传递依赖中声明排除,从而解决冲突。
例子:
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.3.24</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> </exclusions> </dependency>
4、版本锁定原则(最常使用)
在配置文件pom.xml中先声明要使用哪个版本的相应jar包,声明后其他版本的jar包一律不依赖。解决了依赖冲突。
例子:
<properties> <spring.version>4.2.4.RELEASE</spring.version> <hibernate.version>5.0.7.Final</hibernate.version> <struts.version>2.3.24</struts.version> </properties> <!-- 锁定版本,struts2-2.3.24、spring4.2.4、hibernate5.0.7 --> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> </dependencies> </dependencyManagement>
相关文章推荐
- 查lib下的jar来自哪个maven依赖(通过用于解决jar版本冲突)
- maven依赖jar包时版本冲突的解决
- maven 检查jar依赖冲突和版本冲突 以及解决
- spring maven项目解决依赖jar包版本冲突方案
- 解决maven传递依赖中的版本冲突
- Maven依赖版本冲突的分析及解决小结
- Maven依赖版本冲突的分析及解决小结
- 查找maven依赖的jar mvn dependency:tree解决多项目多引入jar包版本导致的问题
- Maven中jar版本冲突问题的解决
- maven中依赖版本冲突如何解决--四种方式(四种原则)
- 施用 maven shade plugin 解决 jar 或类的多版本冲突
- Maven传递依赖冲突解决(版本冲突)
- Maven依赖范围和依赖版本冲突的解决
- maven解决jar包版本冲突
- 解决maven传递依赖中的版本冲突
- Maven解决jar包依赖冲突
- maven解决jar包版本冲突
- 怎么spring security 和maven,spring,结合jar包冲突和依赖关系问题解决办法。
- 解决maven中包冲突,去除依赖包或修改依赖包版本
- Maven依赖jar包冲突常见的解决方法