在使用maven管理项目jar包的时候,常常会遇到jar包冲突的问题,例如,zkClient中需要使用到zookeeper.jar,但是你使用的其他软件,例如:jodis,crator(另一个zk的开源客户端,可能你使用的另一个软件会用这个客户端),这个时候你的zookeeper的版本可能会冲突,这时候的解决办法一般是加上
<dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <exclusions> <exclusion> <groupId>org.apache.hadoop</groupId> <artifactId>zookeeper</artifactId> </exclusion> </exclusions>
但是log4j肯定不能这么干,因为很多项目都会依赖这个项目,所以,这时候要根据log4j的就近原则,将你的log4j配置到子模块的pom文件中,而不是通过继承的方式。