Pregunta

Tengo un proyecto gestionado por maven con slf4j-api-1.5.8 y 1.2.14 log4j-dependencias. En tiempo de ejecución, slf4j necesita slf4j-log4j12-1.5.8.jar a la salida de "puente" para log4j.

Así que en pom.xml, añado esta dependencia:

  <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.8</version>
            <type>jar</type>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
  </dependencyManagement>

Después de construir! (Guerra: la guerra), y log4j-1.2.14.jar slf4j-api-1.5.8.jar se añaden a ambos directorio WEB-INF/lib, pero no puedo encontrar slf4j-log4j12-1.5.8.jar dentro

a continuación, utilizar "Jerarquía de dependencia" para comprobar las dependencias resueltas, pero no puede encontrar slf4j-log4j12 (lo que no está empaquetado en WEB-INF/lib)

¿Qué va mal aquí?

medio ambiente: maven 3,0-beta1, m2-Eclipse-0.10.0.20100209

¿Fue útil?

Solución

La sección de gestión de la dependencia es un mecanismo de centralización de la dependencia, la adición de una dependencia en la sección de gestión de la dependencia no significa que sea una dependencia de su proyecto por sí mismo, usted todavía tiene que declarar como dependencia:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.5.8</version>
      <type>jar</type>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
<dependencies>
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
  </dependency>
</dependencies>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top