Spring Boot 项目启动错误 提示 java.lang.ClassNotFoundException org.apache.log4j.Logger

问题描述

spring boot项目升级到2.x,启动时出现错误提示:java.lang.ClassNotFoundException: org.apache.log4j.Logger

原因

查看maven的依赖结构,发现升级到2.x后,org.slf4j的依赖不全,导致出现版本兼容问题.

解决

spring boot 2.x 默认采用 logback 记录日志,手动添加日志依赖,并排除 log4j相关依赖.

maven 的 pom.xml 中做如下处理:


    org.springframework.boot
    spring-boot-starter-web

            org.apache.logging.log4j
            log4j-to-slf4j

    org.slf4j
    slf4j-api
    1.7.25

    org.slf4j
    log4j-over-slf4j

    org.slf4j
    jcl-over-slf4j

重新启动项目,不再报错,问题解决.

Original: https://www.cnblogs.com/herokevin/p/15811669.html
Author: 暴走编程
Title: Spring Boot 项目启动错误 提示 java.lang.ClassNotFoundException org.apache.log4j.Logger

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573228/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 编写程序,使用递归方法,实现统计项目目录下有多个java文件,共有多少行代码

    import java.io.File; import java.io.FileInputStream; /** * @author Mxhlin * @Email fuhua27…

    Java 2023年6月7日
    048
  • 网络编程

    网络编程 计算机网络是指将 地理位置不同的具有独立功能的 多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及 网络通信协议的管理和协调下, 实现资源共享和…

    Java 2023年6月6日
    087
  • aspose java word 插入特殊字符

    遇到一个需求,要在word文档中插入一些符号,入下图所示: 参考:https://blog.csdn.net/qq_35192741/article/details/9849798…

    Java 2023年5月29日
    073
  • SystemVerilog(6):线程通信

    1、线程 线程即独立运行的程序。 线程需要被触发,可以结束或者不结束。 在 module 中的 initial 和 always,都可以看做独立的线程,它们会在仿真 0 时刻开始,…

    Java 2023年5月30日
    087
  • java面试——垃圾回收机制

    垃圾回收机制:——GC 初学java时。最经典的一句话是”java不像C,需要担心处理不用的内存,他有自己的垃圾回收,会自己处理的”,这是当时老师上课提过的…

    Java 2023年6月9日
    084
  • 反射和注解

    1.1 类加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出意外情况,JVM将会连续完成这三个步…

    Java 2023年6月6日
    078
  • 多线程的多核分配问题验证

    using System.Diagnostics; using System; using System.Threading.Tasks; namespace THREADS { …

    Java 2023年5月30日
    079
  • 搭建一个dubbo+zookeeper平台

    本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用。 首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越…

    Java 2023年6月9日
    082
  • 我是如何用IDEA调试BUG的?

    最近小明的bug有点多,忙的连王者荣耀都顾不上玩了,导致现在不得不抽点时间研究一下作为当前大多Java程序员开发工具的IDEA DEBUG功能,以提高效率。 一、条件断点 场景:我…

    Java 2023年6月14日
    075
  • DispatcherServlet 分发流程

    0 太长不看版 HTTPServlet 的 Service 方法将请求按类进行分解 主要是根据HTTP方法的类型调用 doXXX 方法 GET 和 HEAD 方法需要对 if-mo…

    Java 2023年6月9日
    092
  • 设计模式—桥接模式

    类型:结构型 目的:通过抽离出多个维度相互组合(聚合)来代替继承,简化系统。 话不多说,看个优化案例。 优化案例 现有系统中,对于画面窗口的边框有一套样式来控制是否有圆角。因为新的…

    Java 2023年6月7日
    053
  • Jedis操作set&Sortedset和Jedis连接池

    集合类型 set:不允许重复元素 sadd smembers:获取所有元素 @Test public void MyTest04() { Jedis jedis = new Jed…

    Java 2023年6月6日
    054
  • Spring Cloud-03-监控:强大的Spring Boot Actuator

    应用没有监控,没有画板,一切指标都没有。在这个Growth Hack逐渐成为主流的时代,不弄个Dashboard把系统压力、QPS、CPU、内存、日活啥的可视化,你好意思出来混吗&…

    Java 2023年5月30日
    086
  • Python递归遍历目录并删除文件中的前N行

    1 import os 2 3 # 遍历目录下的所有文件 4 def check_file(file_path): 5 os.chdir(file_path) 6 print(os…

    Java 2023年6月7日
    070
  • 位运算

    前置知识:二进制在内存中存在的形式是补码正数的反码和补码都是其本身负数的反码是在其原来的基础上,符号位不变,其他位取反。负数的补码是先变为反码,然后在反码的基础上+1 取反操作首先…

    Java 2023年6月6日
    076
  • 如果Controller里有私有的方法,能成功访问吗?

    背景 原因 cglib代理的锅 换成JDK动态代理呢 参考 背景 写代码的时候,复制粘贴的时候,没注意到方法的属性,就导致了Controller里有了一个私有的方法,然后访问这个接…

    Java 2023年6月8日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球