我登上了著名的錯誤:AbstractMethodError由於SLF4J API和sl4j標記呼叫ApacheDS中,所有1.5.5
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-過SLF4J SLF4J相同版本(1.5.5,我不能使用更高版本的堂妹以下)尋找類路徑,其中一些類從我們這裏加載E以下結果:
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的所有依賴我明白它可能是一個隱式依賴,但我該如何解決這個問題?
我認爲這個問題是的logback和SLF4J之間的一些依賴版本不匹配,我會SLF4J 1.7使用。 25和logback-classic 1.2.2,請參閱http://search.maven.org/#artifactdetails%7Cch.qos.logback%7Clogback-parent%7C1.2.2%7Cpom –
@RC以使這項工作我需要找到一個方式來全球排除appached加載其自己版本的slf4j(1.5.5),這是我不知道該怎麼做 – simpnsc
使用''如下面的答案所示,您需要排除所有其他版本的slf4j(請參閱你的vn.cmd dependency:tree' output) –