2011-12-29 42 views
15

tôi đang xây dựng ứng dụng java và đột nhiên tôi thấy vấn đề với biên soạn:maven biên soạn - Lỗi log4j

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project sonda: Compilation failure: Compilation failure: 
[ERROR] ..../service/UserService.java:[7,23] package org.apache.log4j does not exist 

Nhưng tôi đã xây dựng ứng dụng này trước và tất cả mọi thứ là ok. Ngoài ra, khi tôi chạy ứng dụng này dưới Eclipse bằng cách sử dụng tomcat, nó đang chạy tốt.

Trong pom tôi có:

<dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${org.slf4j-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>jcl-over-slf4j</artifactId> 
     <version>${org.slf4j-version}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>${org.slf4j-version}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.15</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> 
     <scope>runtime</scope> 
    </dependency> 

Bạn có thể giúp tôi?

Trả lời

31

Thay đổi phạm vi phụ thuộc log4j để biên dịch hoặc xóa nó.

+0

cảm ơn! nó hoạt động – Ilkar

+0

biên dịch, cũng hữu ích cho tôi. – asifaftab87

+0

Trong hầu hết các trường hợp, hãy sử dụng điều này. hoặc tạo phạm vi làm biên dịch thay vì thời gian chạy hoặc xóa nó –

0

Bạn bè loại vấn đề này xảy ra khi bạn đang sử dụng JRE, thay đổi thư viện dự án của bạn cho Java JDK rằng sự cố sẽ được khắc phục và bạn có thể sử dụng slf4j.

3

Tôi chạy vào chính xác cùng một vấn đề:

pom.xml:

<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-core</artifactId> 
    <version>2.3</version> 
</dependency> 

Build lỗi: package org.apache.log4j does not exist

Nguyên nhân: Tôi cần thiết để xây dựng dự án của tôi chống lại một JRE cũ (JRE 1.5.x); các thư viện hiện tại dường như không tương thích.

Giải pháp: back-rev đến một phiên bản cũ của log4j.jar:

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

< = Biên dịch thành công!

Các vấn đề liên quan