【问题标题】:Logger dependencies in maven projectMaven项目中的记录器依赖项
【发布时间】:2013-12-15 14:10:58
【问题描述】:

在我的项目中,我正在使用:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.2</version>
    </dependency>

我无法删除它,因为很多其他依赖项都在使用它。 应用程序正在使用 LDAP,所以我最近添加了:

    <dependency>
        <groupId>org.apache.directory.server</groupId>
        <artifactId>apacheds-all</artifactId>
        <version>1.5.5</version>
    </dependency>

这取决于:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.5.2</version>
    </dependency>

现在我有很多错误:

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.error(SLF4JLocationAwareLog.java:225)

你能帮帮我吗? Yep, I see this question

【问题讨论】:

    标签: java maven jakarta-ee build dependencies


    【解决方案1】:

    你可以:

    • 将您的版本更新为1.5.7,这是最新的1.x 版本。这取决于slf4j-log4j12:1.5.10,所以这不太可能会有所帮助。
    • 考虑使用apacheds-all:2.0.0-M15。这取决于slf4j-log4j12:1.7.5,所以如果这个版本适合你,它应该可以解决这个问题。

    更新

    其他一些想法:

    • 将 ApacheDS 与 Spring 分离
    • 或为使用旧 1.5.x 桥的有问题的包禁用日志记录
    • 或删除此桥(通过排除依赖项)并(可选)添加 log4j 配置以查看 log4j 日志(从未尝试过同时拥有它们!)。

    【讨论】:

    • 谢谢安德烈。对第二部分的评论:我不能使用新版本的 apache-ds,因为我正在使用带有 scring 的 (apache-ds)。 docs.spring.io/spring-security/site/docs/3.1.4.RELEASE/…。 Spring 只能使用 1.5.5 :(
    • 其他一些想法:将其与 Spring 分离或禁用使用旧 1.5.x 桥的有问题包的日志记录或删除此桥(通过排除依赖项)并(可选)添加 log4j 配置以查看log4j 日志(从未尝试过同时拥有它们!)。
    【解决方案2】:

    Maven应该选择最新版本,但您可以尝试添加依赖管理部分,以明确指定您想要的 slf4j 版本。可能从所有各种依赖项中选择最新版本就可以了(在本例中为 1.7.2)。

    另外,我在将应用程序部署到 jboss 时遇到了这个问题,因为它捆绑了旧版本的 slf4j,它优先于我的应用程序中的版本。您可以通过使用-verbose:class jvm 参数运行您的应用程序(或jboss 或其他)来检查这一点,它将注销每个类的加载位置。这将告诉您它是从您的应用程序中的 jar 加载,还是从您的环境中加载。

    【讨论】:

      猜你喜欢
      • 2018-10-20
      • 2015-01-23
      • 1970-01-01
      • 2014-05-25
      • 2019-02-22
      • 2017-12-29
      • 1970-01-01
      • 2018-12-06
      • 1970-01-01
      相关资源
      最近更新 更多