2010-05-31 1 views
4

У меня есть проект, управляемый maven с зависимостями slf4j-api-1.5.8 и log4j-1.2.14. Во время выполнения slf4j требуется slf4j-log4j12-1.5.8.jar для вывода «моста» в log4j.slf4j-log4j12 не упакован maven с областью «runtime»

Так pom.xml, я добавляю эту зависимость:

<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> 

После строительства (войны: войны), log4j-1.2.14.jar и slf4j-api-1.5.8.jar оба добавлены в WEB-INF/lib каталог, но я не могу найти slf4j-log4j12-1.5.8.jar внутри!

Затем я использую «Dependency иерархию», чтобы проверить разрешенную зависимость, но не могу найти SLF4J-log4j12 (так он не упакован в WEB-INF/lib)

Что происходит здесь не так?

среда: Maven 3.0-бета1, м2-затмение-0.10.0.20100209

ответ

4

Секция управления зависимостями является механизм для централизации информации о зависимости, добавив зависимость в разделе управления зависимостью не делает его зависимостью ваш проект сам по себе, вам все равно необходимо заявить его как зависимость:

<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> 
Смежные вопросы