Вопрос

У меня есть проект, управляемый 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top