2011-12-29 6 views
15

я строю приложение Java, и вдруг я обнаружил проблему с компиляции:Maven компиляции - ошибка 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 

Но я строил это приложение, прежде чем, и все было нормально. Кроме того, когда я запускаю это приложение в Eclipse с помощью tomcat, он работает хорошо.

В ПОМ я есть:

<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> 

Можете ли вы мне помочь?

ответ

31

Измените область зависимости log4j на ее компиляцию или удаление.

+0

спасибо! он работает – Ilkar

+0

компиляция, полезный для меня тоже. – asifaftab87

+0

В большинстве случаев это используется. либо сделать область как компиляцию вместо времени выполнения, либо удалить ее –

0

Друг этот тип проблемы возникает, когда вы используете JRE, меняйте библиотеки вашего проекта на Java JDK, чтобы проблема была исправлена, и вы можете использовать slf4j.

3

Я столкнулся с точно такой же проблемой:

pom.xml:

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

ошибка сборки: package org.apache.log4j does not exist

Корневая причина: мне нужно, чтобы построить свой проект против старой JRE (JRE 1.5.x); текущие библиотеки, по-видимому, несовместимы.

Решение: обратно оборотов в старой версии log4j.jar:

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

< = компилирует успешно!

Смежные вопросы