1

尝试部署我的 Web 应用程序时,由于以下记录错误而失败:

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

我已经用谷歌搜索了这个错误,这似乎是我的一个依赖项拉入了错误版本的问题,但我找不到发生这种情况的位置。我已经包含了依赖树输出:

在此处输入图像描述

有任何想法吗?

编辑:添加了 mvn 依赖的输出:resolve:

[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
4

1 回答 1

1

确保所有 slf4j 包(slf4j-api、slf4j-log4j12、jcl-over-slf4j)的版本相同。特别是次要版本(api 和 jcl-bridge 之间)的不匹配是有问题的,应该避免。由于您使用 maven,因此为所有这些包显式声明相同的特定版本应该不难。

参见这里:http ://www.slf4j.org/codes.html#version_mismatch

于 2013-08-23T14:25:26.730 回答