在maven引用存在有log4j的依赖时,总会报以下错误:
12-3-5 下午10时49分58秒: Missing artifact javax.jms:jms:jar:1.1:compile
12-3-5 下午10时49分58秒: Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1:compile
12-3-5 下午10时49分58秒: Missing artifact com.sun.jmx:jmxri:jar:1.2.1:compile
通过查看发现log4j的pom依赖中包含有这些包的依赖,但在对应的仓库https://maven-repository.dev.java.net/nonav/repository 却找不到这些包,因此报错。
由于我们简单实用log4j,不会用到以上的类,可以采用排除法将依赖去掉,比如我想引人zookeeper,
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.3.2</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
</dependency>
这样就不会报错了。