我登陆了这个着名的错误:
java.lang.AbstractMethodError: ch.qos.logback.classic.Logger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:120)
在经历了很多SO问题后,我的进步是:
mvn.cmd dependency:tree -DskipTests | findstr /R /C:slf4j
证明我在slf4j-api上使用相同版本的slf4j,jcl-over-slf4j(1.5.5,我不能使用以下版本的以下版本)查找加载某些类的类路径,我们看到以下结果:
debugJars(org.slf4j.spi.LocationAwareLogger.class);
debugJars(org.apache.commons.logging.impl.SLF4JLocationAwareLog.class);
debugJars(org.slf4j.Marker.class);
debugJars(ch.qos.logback.classic.Logger.class);
返回:
文件:/ C:!/Users/User/.m2/repository/org/apache/directory/server/apacheds-all/1.5.5/apacheds-all-1.5.5.jar /组织/ SLF4J / SPI /
文件:/ C:!/Users/User/.m2/repository/org/slf4j/jcl-over-slf4j/1.5.5/jcl-over-slf4j-1.5.5.jar /组织/阿帕奇/公地/记录/ IMPL /
文件:/ C:!/Users/User/.m2/repository/org/apache/directory/server/apacheds-all/1.5.5/apacheds-all-1.5.5.jar /组织/ SLF4J / < / p>
文件:/ C:!/Users/User/.m2/repository/ch/qos/logback/logback-classic/1.1.2/logback-classic-1.1.2.jar / CH / QOS /的logback /经典/
如何摆脱apacheds-all覆盖我正确的sl4j依赖关系的事实?
pom.xml没有包含任何有关appached的内容 - 所有依赖项我明白它可能是一个隐式依赖项,但我该如何解决?
答案 0 :(得分:0)
我也使用相同的依赖,我没有遇到任何问题 你能尝试下面的
吗?<org.slf4j-version>1.5.5</org.slf4j-version>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>