当前位置: 首页 > 知识库问答 >
问题:

LoggerFactory不是Logback LoggerContext,但Logback位于类路径上

白高超
2023-03-14

我认为spring-boot-starter-security中的某个模块与log4j冲突,但我不知道是哪一个。

我的gradle依赖性如下:

compile("org.springframework.boot:spring-boot-starter-thymeleaf")
compile("org.springframework.boot:spring-boot-starter-security"){
    exclude module: "spring-boot-starter-logging"
}

compile "org.apache.logging.log4j:log4j-api"
compile "org.apache.logging.log4j:log4j-core"
compile "org.apache.logging.log4j:log4j-slf4j-impl"
compile('org.apache.poi:poi:3.10.1')
compile('org.apache.poi:poi-ooxml:3.10.1')
testCompile("junit:junit")

共有3个答案

越胤
2023-03-14

对我来说,问题继续存在:要么删除Logback,要么删除从log4j-slf4j-impl-2.12.0.jar加载的竞争实现类org . Apache . logging . slf4j . log 4 jloggerfactory

我补充道

configurations {
    all {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
        exclude group: 'ch.qos.logback', module: 'logback-classic'
        exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j'
    }
}

到我的gradle.build,并使用最新版本刷新了所有项目依赖项,并解决了问题。

唐恺
2023-03-14

我明白了

compile("org.springframework.boot:spring-boot-starter-security"){
    exclude module: "spring-boot-starter-logging"
    exclude module: "logback-classic"
}
compile("org.springframework.boot:spring-boot-starter-thymeleaf"){
    exclude module: "logback-classic"
}
林正平
2023-03-14

maven的相同解决方案:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    <version>1.5.1.RELEASE</version>
    <exclusions>
        <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </exclusion>
    </exclusions>
</dependency>
 类似资料:
  • 当我试图运行我的项目时,我得到了标题中发现的错误。我已经阅读了关于此错误的其他线程,并找到了一个解决方案,该解决方案消除了该错误,但杀死了我所有的日志记录。 线程“main”java.lang.IllegalArgumentException中的异常:LoggerFactory不是LoggerContext,但Logback位于类路径上。删除Logback或竞争实现(类org.slf4j.impl

  • 我到处都使用gradle和,但是,最近我的Spring Boot应用程序停止了从命令行运行。当我运行时,我得到... 线程“main”java.lang.IllegalArgumentException中的异常:LoggerFactory不是LoggerContext,但Logback位于类路径上。删除Logback或竞争实现(类org.slf4j.impl.log4jLoggerFactory从

  • 问题内容: 好吧,我很困惑。我的SQL Server JAR在这里: 我的类路径已设置: 它是JDBC 4.0驱动程序,因此我不需要这样做,但是我尝试设置类名。 我仍然执行我的程序,但出现错误: 万一有问题,我正在运行Windows 8.1。我已经尝试过以管理员身份或不以管理员身份使用命令提示符。 Java信息: 有任何想法吗? SQL Server是SQL Server Express 2012

  • 问题内容: 想知道不指定classpath选项时默认的classpath是什么吗? 问题答案: 当前的工作目录()。 从Java™教程中:PATH和CLASSPATH: 类路径 的 默认值为“。” ,表示仅搜索当前目录。指定CLASSPATH变量或-cp命令行开关将覆盖此值。 这包括子目录吗? 不,在类路径中没有条目是“递归的”。您必须明确列出每个子目录(或jar)。但是,如果您有一个表示clas

  • 在阅读@Ridcully的响应之后,我想问一下是否有一种方法可以更新,以便它知道JSON是一个数组。比如?

  • 首先,Java新手。我试图解码一个JSON字符串。我得到了包并将其复制到但是java说它不存在。我也尝试将CLASSPATH更改为相同的路径。我没有使用任何IDE 我甚至试着把它复制到和