SLF4J-Log4J12 не упакован Maven с помощью «Runtime»
-
05-10-2019 - |
Вопрос
У меня есть проект, управляемый Maven с SLF4J-API-1.5.8 и Log4j-1.2.14. Во время выполнения потребности SLF4J slf4j-log4j12-1.5.8.jar
на «мост» вывод на log4j.
Таким образом 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
в пределах!
Затем я использую «иерархию зависимости», чтобы проверить разрешенные зависимости, но не может найти SLF4J-Log4J12 (так что он не упакован в WEB-INF/lib
)
Что здесь не так?
Окружающая среда: Maven 3.0-Beta1, M2-Eclipse-0.10.0.20100209
Решение
Раздел управления зависимостями является механизм централизации информации зависимости, добавление зависимости в раздел управления зависимостями не делает его зависимостью вашего проекта самостоятельно, вам все равно нужно объявить его как зависимость:
<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>