slf4j-log4j12 pas emballé par Maven avec la portée « d'exécution »
-
05-10-2019 - |
Question
J'ai un projet géré par Maven avec slf4j-api-1.5.8 et log4j-1.2.14 dépendances.
Lors de l'exécution, slf4j a besoin slf4j-log4j12-1.5.8.jar
à la sortie "pont" à log4j.
Donc pom.xml
, j'ajouter cette dépendance:
<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>
Après la construction! (Guerre: guerre), log4j-1.2.14.jar
et slf4j-api-1.5.8.jar
sont tous deux ajoutés au répertoire WEB-INF/lib
, mais je ne peux pas trouver dans les slf4j-log4j12-1.5.8.jar
J'utilise ensuite « la hiérarchie des dépendances » pour vérifier les dépendances résolues, mais ne peut pas trouver slf4j-log4j12 (il est donc pas emballé dans WEB-INF/lib
)
Qu'est-ce qui ne va pas ici?
environnement: maven 3.0 beta1, m2-eclipse-0.10.0.20100209
La solution
La section de gestion de la dépendance est un mécanisme de centralisation des informations de dépendance, en ajoutant une dépendance dans la section de gestion de la dépendance ne fait pas une dépendance de votre projet en lui-même, vous avez encore besoin de le déclarer comme la dépendance:
<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>