我有一个 Java Maven 项目,其依赖项包括slf4j
及其log4j adapter
. 我根据http://mvnrepository.com管理 的版本及其最新版本log4j
,尤其是1.2.17 的版本远远超过 1.2.12 但我仍然收到错误slf4j-log4j12
slf4j-api
log4j
SLF4J: This version of SLF4J requires log4j version 1.2.12 or later.
See also http://www.slf4j.org/codes.html#log4j_version
这对我来说完全不清楚。
我的 Maven 依赖管理如下所示:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
<type>pom</type>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
</dependencies>
</dependencyManagement>
我怎样才能摆脱警告?
PS:我也得到一个java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled()
.
PPS:由于您的评论,我记得该程序有一个“lib”文件夹,该文件夹不包含在 Maven 的类路径中,而是由 Eclipse 本身包含,因此冲突的依赖项必须存在。抱歉,我完全忘记了将 Maven 与 lib 文件夹混合是我的错。我想我必须尝试将尽可能多的库转换为 Maven 依赖项。奇怪的是,即使我编辑“订单和导出”以将 Maven 依赖项放在顶部,问题仍然存在。