我发现了一个著名的错误:
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)
在经历了很多这样的问题之后,这里是我的进步:
mvn.cmd dependency:tree -DskipTests | findstr /R /C:slf4j
证明了我在slf4j-api、jcl-overslf4j(1.5.5)上使用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);
返回:
file:/C:/Users/User/.m2/repository/org/apache/directory/server/apacheds-all/1.5.5/apacheds-all-1.5.5.jar!/org/slf4j/spi/ file:/C:/Users/User/.m2/repository/org/slf4j/jcl-over-slf4j/1.5.5/jcl-over-slf4j-1.5.5.jar!/org/apache/commons/logging/impl/ file:/C:/Users/User/.m2/repository/org/apache/directory/server/apacheds-all/1.5.5/apacheds-all-1.5.5.jar!/org/slf4j/ file:/C:/Users/User/.m2/repository/ch/qos/logback/logback-classic/1.1.2/logback-classic-1.1.2.jar!/ch/qos/logback/classic/
如何摆脱apacheds-所有覆盖我正确的sl4j依赖的事实?
pom.xml没有包含任何关于appacheds的内容--我知道它可能是一个隐式依赖,但是我如何解决这个问题呢?
发布于 2017-03-28 11:10:32
我也在使用同样的依赖关系,我没有面临任何问题,您能尝试以下方法吗?
<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>
https://stackoverflow.com/questions/43067830
复制相似问题