org.apache.log4j.Registrador no puede ser resuelto a pesar de dependencias Maven

Estoy usando maven (es decir, plugin de maven para eclipse) para la gestión de la dependencia y, en general funciona. E. g. jasypt obtiene fuerte de textoresuelto y lo puedo usar sin ningún problema. Sin embargo, cuando tratando de usar Log4J puedo conseguir temas como «El import org.apache.log4j no puede ser resuelto» aunque he seguido los pasos exactos como desribed en http://logging.apache.org/log4j/2.x/maven-artifacts.html.

No me dice que tengo que incluir el siguiente fragmento de código en mi pom.xml

<dependencies>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.6.2</version>
  </dependency>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.6.2</version>
  </dependency>
</dependencies>

Sin embargo exactamente lo que está incluido en mi pom.xml como se indica más adelante en mi pom.xml. ¿Tiene esto sentido para nadie? También he tratado de sustituir las dos dependencias con el siguiente sin embargo, sin ningún éxito

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>2.6.2</version>
    <type>pom</type>
</dependency>

Saludos
Tom

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>PCenter</groupId>
  <artifactId>PCenter</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>PCenter</name>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <resources>
      <resource>
        <directory>src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
      <resource>
        <directory>ejbModule</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <warSourceDirectory>WebContent</warSourceDirectory>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
        <groupId>com.paypal.sdk</groupId>
        <artifactId>rest-api-sdk</artifactId>
        <version>1.9.2</version>
    </dependency>
    <dependency>
        <groupId>org.jasypt</groupId>
        <artifactId>jasypt</artifactId>
        <version>1.9.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.axis</groupId>
        <artifactId>axis</artifactId>
        <version>1.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.axis</groupId>
        <artifactId>axis-jaxrpc</artifactId>
        <version>1.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.6.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.6.2</version>
    </dependency>
  </dependencies>
</project>
InformationsquelleAutor Tom | 2016-08-13

2 Kommentare

  1. 6

    El problema es que han Log4j2 en las dependencias, y el uso de los antiguos, de Log4j 1.2.x API.

    • Bien dependen de Log4j 1.2.x

      <dependencies>
        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.17</version>
        </dependency>
      </dependencies>
    • O el uso correcto de llamadas a la API de Log4j 2.x:

    Llamadas a org.apache.log4j.Logger.getLogger() debe ser modificado para org.apache.logging.log4j.LogManager.getLogger()

    (De La migración de Log4j 1.x)

  2. 2

    Hmm, realmente traté de ppeterkas propuesta de solución, incluso, de que los mayores de 1,2 x de la api, pero que no funcionó para mí, yo todavía tenía ese problema. Y puesto que el código que no podía ser compilado no era realmente mi código, sino algunos de código abierto que se me ocurrió utilizar en mi propio código, que realmente no se desea modificar es registradores (debo mencionar también, que acabo de empezar a tener este problema después de recién apertura de mi eclipse en un equipo nuevo, antes de que en realidad era compilar bien con el mismo pom.xml, por lo que es raro, pero sin embargo todavía faltaba la fijación de entonces…).

    De modo que una solución para mí era incluir un Apache Log4j 1.x Compatibilidad de la API de log4j 2.7:

    http://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-1.2-api/2.7

    <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-1.2-api -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-1.2-api</artifactId>
        <version>2.7</version>
    </dependency>

    Espero que esto ayude a otras personas que tienen el mismo problema.

    • Esta realidad trabajaba para mí también. Para mí también empezó todo de repente. antes se estaba trabajando bien.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea