2013-08-23 73 views
0

當嘗試部署我的web應用程序,它失敗,因爲記錄錯誤,如下列:SLF4J依賴

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)

我google'd這個錯誤,這似乎是一個問題我的依賴關係拉錯版本,但我找不到發生這種情況。我已經包括了依賴關係樹輸出:

enter image description here

什麼想法?

編輯:MVN依賴性的增加輸出:決心:

[INFO] The following files have been resolved: 
[INFO] org.slf4j:slf4j-log4j12:jar:1.6.0:compile 
[INFO] org.apache.tiles:tiles-request-jsp:jar:1.0.1:compile 
[INFO] log4j:log4j:jar:1.2.14:compile 
[INFO] org.codehaus.jackson:jackson-mapper-asl:jar:1.8.5:compile 
[INFO] mysql:mysql-connector-java:jar:5.1.15:compile 
[INFO] commons-beanutils:commons-beanutils:jar:1.8.0:compile 
[INFO] org.springframework.social:spring-social-web:jar:1.0.0.RELEASE:compile 
[INFO] org.springframework:spring-orm:jar:3.2.4.RELEASE:compile 
[INFO] antlr:antlr:jar:2.7.6:compile 
[INFO] org.springframework:spring-tx:jar:3.2.4.RELEASE:compile 
[INFO] org.springframework:spring-expression:jar:3.2.4.RELEASE:compile 
[INFO] org.springframework:spring-core:jar:3.2.4.RELEASE:compile 
[INFO] org.springframework:spring-webmvc:jar:3.2.4.RELEASE:compile 
[INFO] org.yaml:snakeyaml:jar:1.12:compile 
[INFO] org.apache.tiles:tiles-core:jar:3.0.1:compile 
[INFO] commons-collections:commons-collections:jar:3.1:compile 
[INFO] junit:junit:jar:3.8.1:test 
[INFO] org.apache.tiles:tiles-jsp:jar:3.0.1:compile 
[INFO] commons-logging:commons-logging:jar:1.1.1:compile 
[INFO] org.springframework.social:spring-social-facebook:jar:1.0.0.RELEASE:compile 
[INFO] org.springframework:spring-jdbc:jar:3.2.4.RELEASE:compile 
[INFO] org.liquibase:liquibase-core:jar:3.0.2:compile 
[INFO] org.apache.tiles:tiles-request-servlet:jar:1.0.1:compile 
[INFO] org.springframework:spring-web:jar:3.2.4.RELEASE:compile 
[INFO] org.apache.tiles:tiles-request-api:jar:1.0.1:compile 
[INFO] org.codehaus.jackson:jackson-core-asl:jar:1.8.5:compile 
[INFO] org.slf4j:jcl-over-slf4j:jar:1.5.8:compile 
[INFO] org.slf4j:slf4j-api:jar:1.6.1:compile 
[INFO] javax.inject:javax.inject:jar:1:compile 
[INFO] dom4j:dom4j:jar:1.6.1:compile 
[INFO] javax.servlet:jstl:jar:1.2:compile 
[INFO] org.springframework.social:spring-social-core:jar:1.0.0.RELEASE:compile 
[INFO] org.springframework.security:spring-security-crypto:jar:3.1.0.RC3:compile 
[INFO] commons-digester:commons-digester:jar:2.0:compile 
[INFO] org.springframework:spring-context:jar:3.2.4.RELEASE:compile 
[INFO] org.apache.tiles:tiles-template:jar:3.0.1:compile 
[INFO] org.hibernate:hibernate-core:jar:3.6.10.Final:compile 
[INFO] org.apache.tiles:tiles-autotag-core-runtime:jar:1.1.0:compile 
[INFO] org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile 
[INFO] org.springframework:spring-aop:jar:3.2.4.RELEASE:compile 
[INFO] org.springframework:spring-beans:jar:3.2.4.RELEASE:compile 
[INFO] org.apache.tiles:tiles-api:jar:3.0.1:compile 
[INFO] aopalliance:aopalliance:jar:1.0:compile 
[INFO] org.springframework.social:spring-social-twitter:jar:1.0.0.RELEASE:compile 
[INFO] javax.transaction:jta:jar:1.1:compile 
[INFO] org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final:compile 
[INFO] org.apache.tiles:tiles-servlet:jar:3.0.1:compile 
+0

你爲什麼要提的log4j?在你的錯誤信息中沒有任何關於它的信息。另外,請將'mvn dependency:resolve'的* entire *輸出作爲文本發佈。 – chrylis

+0

Log4j是我正在使用的Slf4j實現。 – Nick

回答

0

確保所有SLF4J-包(SLF4J的API,SLF4J-log4j12,JCL-過SLF4J)是相同的版本。特別是次要版本(api和jcl-bridge之間)的不匹配是有問題的,應該避免。既然你使用maven,那麼爲所有這些包明確聲明相同的特定版本應該不是很困難。

也見這裏:http://www.slf4j.org/codes.html#version_mismatch