maven依赖jar包时版本冲突的解决 - ashorefish/-software-test GitHub Wiki
maven依赖jar包时版本冲突的解决 2017年09月16日 19:57:47 阅读数:7025
共有四种解决方式: 1、第一声明优先原则: 在pom.xml配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效。 所以,先声明自己要用的版本的jar包即可。 2、路径近者优先: 直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,那么可以自己声明一个指定版本的依赖jar,即可解决冲突。 3、排出原则: 传递依赖冲突时,可以在不需要的jar的传递依赖中声明排除,从而解决冲突。 例子:
org.apache.struts struts2-spring-plugin 2.3.24 org.springframework spring-beans1
2
3
4
5
6
7
8
9
10
11
4、版本锁定原则(最常使用) 在配置文件pom.xml中先声明要使用哪个版本的相应jar包,声明后其他版本的jar包一律不依赖。解决了依赖冲突。 例子:
4.2.4.RELEASE 5.0.7.Final 2.3.24 org.springframework spring-context ${spring.version}