maven log4j.jar问题

Maven使用log4j可能会有协议上的问题

  • 如果log4j的版本在1.2.14以上,则会出现下面的错误:
<!-- ws:start:WikiTextCodeRule:0: &lt;pre class=&quot;text&quot;&gt;Missing artifact javax.jms:jms:jar:1.1:compile&lt;br/&gt;Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1:compile&lt;br/&gt;Missing artifact com.sun.jmx:jmxri:jar:1.2.1:compile&lt;/pre&gt; -->

 

Missing artifact javax.jms:jms:jar:1.1:compile
Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1:compile
Missing artifact com.sun.jmx:jmxri:jar:1.2.1:compile
<!-- ws:end:WikiTextCodeRule:0 -->
  • 原因是log4j在1.2.15及以上版本更换了协议,与jms冲突。解决办法有两种:一是使用1.2.14版本,二是手动下载jms.jar,安装到maven本地仓库中去
或者如下方式解决:

maven工程pom添加log4j依赖:

<dependency>

<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
</dependency>

出现错误:

12-10-29 上午09时08分41秒: Missing artifact javax.jms:jms:jar:1.1:compile
12-10-29 上午09时08分41秒: Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1:compile
12-10-29 上午09时08分41秒: Missing artifact com.sun.jmx:jmxri:jar:1.2.1:compile

解决方案。改为如下:

<dependency>

<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
   <exclusion>
       <groupId>com.sun.jmx</groupId>
       <artifactId>jmxri</artifactId>
   </exclusion>
   <exclusion>
       <groupId>com.sun.jdmk</groupId>
       <artifactId>jmxtools</artifactId>
   </exclusion>
   <exclusion>
           <groupId>javax.jms</groupId>
           <artifactId>jms</artifactId>
   </exclusion>
</exclusions>
</dependency>

你可能感兴趣的:(maven log4j.jar问题)