slf4j-log4j12 no empaquetado por maven con alcance “tiempo de ejecución”
-
05-10-2019 - |
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
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>