在使用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文件中,而不是通过继承的方式。