4

我有一个由 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.jarslf4j-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

4

1 回答 1

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>
于 2010-05-31T12:42:51.553 回答