slf4j-log4j12 non confezionato da Maven con portata “runtime”
-
05-10-2019 - |
Domanda
Ho un progetto gestito da Maven con slf4j-api-1.5.8 e 1.2.14 log4j-dipendenze.
In fase di esecuzione, slf4j deve slf4j-log4j12-1.5.8.jar
a "ponte" output a log4j.
Quindi, in pom.xml
, aggiungo questa dipendenza:
<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>
Dopo aver costruito! (La guerra: la guerra), log4j-1.2.14.jar
e slf4j-api-1.5.8.jar
sono entrambi aggiunti alla directory WEB-INF/lib
, ma non riesco a trovare slf4j-log4j12-1.5.8.jar
entro
Ho quindi utilizzare "Gerarchia delle dipendenze" per controllare le dipendenze risolti, ma non riesce a trovare slf4j-log4j12 (quindi non è confezionato in WEB-INF/lib
)
Che cosa sta andando male qui?
ambiente: Maven 3.0-beta1, m2-eclipse-0.10.0.20100209
Soluzione
La sezione di gestione delle dipendenze è un meccanismo di centralizzazione delle informazioni sulle dipendenze, l'aggiunta di una dipendenza nella sezione gestione delle dipendenze non lo rende una dipendenza del vostro progetto di per sé, è ancora necessario dichiararla come dipendenza:
<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>