slf4j-log4j12 не упакован maven с областью выполнения - PullRequest
4 голосов
/ 31 мая 2010

У меня есть проект, управляемый 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>

После сборки (war: war), 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

1 Ответ

4 голосов
/ 31 мая 2010

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

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