2010-02-22 75 views
12

大家好我有錯誤,打破了我的體型沒有理由,這裏是錯誤消息:Maven的依賴log4j的錯誤

error: error reading 
/.m2/repository/com/sun/jdmk/jmxtools/1.2.1/jmxtools-1.2.1.jar; 
error in opening zip file error: error 
reading 
/.m2/repository/com/sun/jmx/jmxri/1.2.1/jmxri-1.2.1.jar; 
error in opening zip file 

我使用這種依賴關係:

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

哪有我解決這個問題?

回答

23

你很可能並不需要jmxtools或jmxri,所以你也許可以從你的依賴其排除:

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.15</version> 
    <scope>provided</scope> 
    <exclusions> 
     <exclusion> 
      <groupId>com.sun.jdmk</groupId> 
      <artifactId>jmxtools</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>com.sun.jmx</groupId> 
      <artifactId>jmxri</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
+0

(+1)也爲jmxri添加排除項。 – Bozho 2010-02-22 12:02:21

+0

正如Pascal所說,也爲Java Mail和JMS添加排除。提供的範圍?有時候更好地使用自己的日誌庫(就像帕斯卡所說的那樣)從提供的環境之一。 – cetnar 2010-02-22 15:08:15

11

嚴重的是,對JMX,JMS這些依賴關係,Java郵件是荒謬的,不必處理排除一些日誌記錄使我無語。所以,我寧願使用以前版本的log4j(1.2.14)或只是切換到logback

+0

有用的評論。我也只是決定切換到1.2.14。 – 2012-11-29 21:11:45

+0

他們可以使用「可選」的Maven依賴關係嗎? – 2014-03-10 06:49:48