2010-05-31 18 views
4

J'ai un projet géré par maven avec les dépendances slf4j-api-1.5.8 et log4j-1.2.14. Au moment de l'exécution, slf4j a besoin de slf4j-log4j12-1.5.8.jar pour "relier" la sortie à log4j.slf4j-log4j12 non empaqueté par maven avec la portée "runtime"

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 à WEB-INF/lib répertoire, mais je ne peux pas trouver slf4j-log4j12-1.5.8.jar au sein!

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

Répondre

4

La section de gestion de la dépendance est un mécanisme de centralisation des informations sur les dépendances, l'ajout d'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 devez toujours le déclarer en tant que 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>