首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AbstractMethodError由于slf4j api和sl4j标记调用apacheds-all-1.5.5

AbstractMethodError由于slf4j api和sl4j标记调用apacheds-all-1.5.5
EN

Stack Overflow用户
提问于 2017-03-28 11:02:29
回答 1查看 488关注 0票数 0

我发现了一个著名的错误:

代码语言:javascript
运行
复制
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-overslf4j(1.5.5)上使用slf4j的相同版本(1.5.5,我不能使用下面的更高版本)
  • 查找从其中加载某些类的类路径,我们会看到以下结果: 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的内容--我知道它可能是一个隐式依赖,但是我如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-28 11:10:32

我也在使用同样的依赖关系,我没有面临任何问题,您能尝试以下方法吗?

代码语言:javascript
运行
复制
<org.slf4j-version>1.5.5</org.slf4j-version>

<!-- Logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j-version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>

<dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.15</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.mail</groupId>
                    <artifactId>mail</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.jms</groupId>
                    <artifactId>jms</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jdmk</groupId>
                    <artifactId>jmxtools</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jmx</groupId>
                    <artifactId>jmxri</artifactId>
                </exclusion>
            </exclusions>
            <scope>runtime</scope>
        </dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43067830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档