我有一个由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
!
然后我使用“Dependency Hierarchy”检查已解析的依赖项,但找不到slf4j-log4j12(因此它没有打包成WEB-INF/lib
)
这里出了什么问题?
环境:maven 3.0-beta1,m2-eclipse-0.10.0.20100209
答案 0 :(得分: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>