在有冲突的依赖下面加上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>