当前位置: 首页 > article >正文

启动报错java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus

报错信息图片
在这里插入图片描述
日志:

Exception in thread "Quartz Scheduler [scheduler]" java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus

先说我自己遇到的问题,我们项目在web设置了自定义的log输出路径,多了一个 /

在这里插入图片描述
去掉之后就启动成功

<context-param>
    <param-name>logbackConfigLocation</param-name>
    <param-value>classpath:log/caf-logback.xml</param-value>
</context-param>

在这里插入图片描述

下面是别的错误原因:

这个错误表示在运行时找不到 ch.qos.logback.core.status.WarnStatus 类,原因可能包括:

1,Logback 依赖缺失:项目中没有正确引入 Logback 的依赖包。
2,依赖版本不匹配:引入了不完整或者错误版本的 Logback。
3,冲突的日志框架:项目中存在多个日志框架(比如 Log4j 和 Logback)导致冲突。
4,依赖未正确加载:构建工具(Maven、Gradle)没有下载依赖包,或者包没有添加到 classpath。

1. 检查 Logback 依赖

确保项目中引入了 Logback 的核心依赖。对于 Maven,可以在 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.4.11</version> <!-- 使用最新的稳定版本 -->
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.4.11</version>
</dependency>

如果使用 Gradle,添加:

implementation 'ch.qos.logback:logback-classic:1.4.11'
implementation 'ch.qos.logback:logback-core:1.4.11'

2. 检查依赖版本匹配

确保 logback-classic 和 logback-core 版本一致,不要混用不同版本。

3. 清理并重新加载依赖

使用以下命令清理并重新下载依赖:
Maven:

mvn clean install -U

Gradle:

./gradlew clean build --refresh-dependencies

4. 检查日志框架冲突

查看项目中是否同时引入了多个日志框架,如 Log4j 和 Logback。冲突时可以将不需要的日志框架排除:

示例:排除 Log4j

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
        </exclusion>
    </exclusions>
</dependency>

5. 检查 Classpath 和 Jar 包

确保 logback-core 和 logback-classic jar 包都已被加载。
在 IDE 中检查 External Libraries,确认相关依赖存在。

6. 更新日志配置文件

如果 logback.xml 存在错误的配置,修正为正确的 Logback 格式。例如:

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="info">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>


http://www.kler.cn/a/445144.html

相关文章:

  • 【Vulkan入门】16-IndexBuffer
  • Anaconda3 pypi 清华大学TUNA镜像源使用帮助
  • MySQL 的事务与锁机制详解
  • uniapp获取内容高度
  • Elasticsearch 集群快照的定期备份设置指南
  • 分布式链路追踪-03-Jaeger、Zipkin、skywalking 中的 span 是如何设计的?
  • 同源策略:为什么XMLHttpRequest不能跨域请求资源?
  • 现代风格VUE3易支付用户控制中心
  • 数据结构之二叉搜索树(Binary Search Tree)
  • VSCode编辑+GCC for ARM交叉编译工具链+CMake构建+OpenOCD调试(基于STM32的标准库/HAL库)
  • [图] 遍历 | BFS | DFS
  • 使用 UniApp 在微信小程序中实现 SSE 流式响应
  • vue-office:Star 4.2k,款支持多种Office文件预览的Vue组件库,一站式Office文件预览方案,真心不错
  • 探索国产数字隔离器——测试与应用
  • MariaDB 设置 sql_mode=Oracle 和 Oracle 对比验证
  • Vue3 的 Teleport 是什么?在什么场景下会用到?
  • JavaEE 【知识改变命运】06 多线程进阶(1)
  • MySQL八股-MVCC入门
  • 怎么在Windows上远程控制Mac电脑?
  • React性能优化实战:从理论到落地的最佳实践
  • 【ETCD】【实操篇(二)】如何从源码编译并在window上搭建etcd集群?
  • 电商数据流通的未来:API接口的智能化与自动化趋势
  • 数据库设计过程的理解和实践
  • Ceph+python对象存储
  • ubuntu,自动休眠后,程序自动暂停。如何破?
  • Window右键打开方式,删除无效应用