【问题标题】:slf4j dependency not found未找到 slf4j 依赖项
【发布时间】:2013-08-26 12:09:39
【问题描述】:

在尝试部署我的 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

【问题讨论】:

  • 为什么要提到 log4j?您的错误消息中没有任何内容。另外,请将mvn dependency:resolve整个输出作为文本发布。
  • Log4j 是我正在使用的 Slf4j 实现。

标签: java maven dependencies slf4j circular-dependency


【解决方案1】:

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

参见此处:http://www.slf4j.org/codes.html#version_mismatch

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 2019-02-24
    • 2021-06-16
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多