天天看点

maven隐式依赖引起的包冲突

使用maven管理项目时可能会遇到包冲突的情况比如:log4j-over-slf4j.jar 和 slf4j-log4j12.jar这两个包同时一起运行时就会有问题。

这种冲突可能是显式依赖导致,也可能是隐式依赖导致。

显式依赖,直接可以从pom.xml文件的<code>&lt;dependency&gt;</code>中看到两个冲突包的引用。

隐式依赖,在pom.xml的<code>&lt;dependency&gt;</code>无法看到冲突的包,而是由<code>&lt;dependency&gt;</code>引入的包间接引入的。

先确认哪些依赖间接引入了包。使用<code>mvn dependency:tree</code>查看整个项目的依赖树,这里能看到所有的依赖,包括间接依赖。

结果类似如下:

查到冲突包对应的依赖,在pom.xml的<code>&lt;dependency&gt;</code>中配置排除,就不会引入该包了,例如:

========广告时间========

<a href="http://blog.csdn.net/wangyangzhizhou/article/details/74080321">为什么写《Tomcat内核设计剖析》</a>

=========================

欢迎关注:

maven隐式依赖引起的包冲突