`

maven依赖包版本冲突解决

 
阅读更多

在有冲突的依赖下面加上exclusion,如不想用slf4j-log4j12默认
的slf4j-api版本,而自己指定一个,可以这样:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>${slf4j-log4j12.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>

 

有时候不一定能发现是哪几个依赖冲突了,这时可以上
http://mavenrepository.com查一下,比如发现lib里有
javassist-3.4.GA.jar和javassist-3.7.ga.jar,而自己
想用的是javassist-3.7.ga.jar,可以在上面的网站里
查javassist-3.4.GA,在This artifact is used by ... 里会列出依赖于它的一些dependency,

org.hibernate hibernate-core 3.3.1.GA
org.hibernate hibernate-entitymanager 3.3.2.GA

等,再在那些dependency里加入exclusion去掉javassist就可以了,如下:

 

 

<dependency>
   <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
   <version>${hibernate.version}</version>
   <exclusions>
      <exclusion>
         <groupId>javassist</groupId>
         <artifactId>javassist</artifactId>
      </exclusion>
   </exclusions>
</dependency>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics