web-dev-qa-db-fra.com

compilation de maven - erreur log4j

je construis une application Java et tout à coup j'ai trouvé un problème avec la compilation:

[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

Mais je construisais cette application avant et tout allait bien. De plus, lorsque je lance cette application sous Eclipse avec Tomcat, elle fonctionne bien.

En pom j'ai:

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

Pouvez-vous m'aider ?

16
Ilkar

Modifiez l'étendue de la dépendance log4j pour la compiler ou supprimez-la.

35
Arnaud Gourlay

J'ai rencontré exactement le même problème:

pom.xml: 

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

Erreur de construction: package org.Apache.log4j does not exist

Cause fondamentale: je devais construire mon projet par rapport à un ancien JRE (JRE 1.5.x); les bibliothèques actuelles sont apparemment incompatibles.

Solution: revenir à une ancienne version de log4j.jar:

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

<= Compile avec succès!

4
paulsm4

Ami, ce type de problème survient lorsque vous utilisez JRE. Modifiez les bibliothèques de votre projet pour Java JDK afin que le problème soit corrigé et vous pouvez utiliser slf4j.

0
João Batista Ladchuk