SLF4J: Class path contains multiple SLF4J bindings.解决

背景

项目正常运行几年,近期优化调整修复漏洞,依赖升级后clean+install 重启发现项目启动失败,访问所有接口都报错404
在这里插入图片描述

错误信息

output输出异常信息截图
在这里插入图片描述
tomcat 打印异常信息截图
在这里插入图片描述
output打印异常信息详情

D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76\bin\catalina.bat run
[2023-12-28 04:33:53,489] Artifact mams-rest:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE:   "C:\Users\xxx\AppData\Local\JetBrains\IntelliJIdea2020.3\tomcat\f0fc51a6-6a53-43a0-8dbf-2d223ea74432"
Using CATALINA_HOME:   "D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76"
Using CATALINA_TMPDIR: "D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76\temp"
Using JRE_HOME:        "D:\javaRuanJian\stibo\jdk1.8"
Using CLASSPATH:       "D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76\bin\bootstrap.jar;D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76\bin\tomcat-juli.jar"
Using CATALINA_OPTS:   ""
Connected to the target VM, address: '127.0.0.1:52143', transport: 'socket'
28-Dec-2023 16:33:57.599 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/8.5.76
28-Dec-2023 16:33:57.604 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建:        Feb 23 2022 17:59:11 UTC
28-Dec-2023 16:33:57.604 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号:      8.5.76.0
28-Dec-2023 16:33:57.604 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称:      Windows 10
28-Dec-2023 16:33:57.604 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本:           10.0
28-Dec-2023 16:33:57.604 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构:              amd64
28-Dec-2023 16:33:57.604 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量:     D:\javaRuanJian\stibo\jdk1.8\jre
28-Dec-2023 16:33:57.605 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本:    1.8.0_121-b13
28-Dec-2023 16:33:57.605 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商:        Oracle Corporation
28-Dec-2023 16:33:57.605 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:     C:\Users\zhuyanming5\AppData\Local\JetBrains\IntelliJIdea2020.3\tomcat\f0fc51a6-6a53-43a0-8dbf-2d223ea74432
28-Dec-2023 16:33:57.605 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:     D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76
28-Dec-2023 16:33:57.605 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.util.logging.config.file=C:\Users\zhuyanming5\AppData\Local\JetBrains\IntelliJIdea2020.3\tomcat\f0fc51a6-6a53-43a0-8dbf-2d223ea74432\conf\logging.properties
28-Dec-2023 16:33:57.606 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
28-Dec-2023 16:33:57.606 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:52143,suspend=y,server=n
28-Dec-2023 16:33:57.606 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -javaagent:C:\Users\zhuyanming5\AppData\Local\JetBrains\IntelliJIdea2020.3\captureAgent\debugger-agent.jar
28-Dec-2023 16:33:57.606 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcom.sun.management.jmxremote=
28-Dec-2023 16:33:57.606 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcom.sun.management.jmxremote.port=1097
28-Dec-2023 16:33:57.606 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcom.sun.management.jmxremote.ssl=false
28-Dec-2023 16:33:57.607 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcom.sun.management.jmxremote.password.file=C:\Users\zhuyanming5\AppData\Local\JetBrains\IntelliJIdea2020.3\tomcat\f0fc51a6-6a53-43a0-8dbf-2d223ea74432\jmxremote.password
28-Dec-2023 16:33:57.607 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcom.sun.management.jmxremote.access.file=C:\Users\zhuyanming5\AppData\Local\JetBrains\IntelliJIdea2020.3\tomcat\f0fc51a6-6a53-43a0-8dbf-2d223ea74432\jmxremote.access
28-Dec-2023 16:33:57.607 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.rmi.server.hostname=127.0.0.1
28-Dec-2023 16:33:57.607 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djdk.tls.ephemeralDHKeySize=2048
28-Dec-2023 16:33:57.607 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
28-Dec-2023 16:33:57.607 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dignore.endorsed.dirs=
28-Dec-2023 16:33:57.608 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcatalina.base=C:\Users\zhuyanming5\AppData\Local\JetBrains\IntelliJIdea2020.3\tomcat\f0fc51a6-6a53-43a0-8dbf-2d223ea74432
28-Dec-2023 16:33:57.608 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcatalina.home=D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76
28-Dec-2023 16:33:57.608 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.io.tmpdir=D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76\temp
28-Dec-2023 16:33:57.608 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.0]加载了基于APR的Apache Tomcat本机库[1.2.31]。
28-Dec-2023 16:33:57.608 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]。
28-Dec-2023 16:33:57.609 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true]
28-Dec-2023 16:33:57.616 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 1.1.1l  24 Aug 2021]
28-Dec-2023 16:33:57.865 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8082"]
28-Dec-2023 16:33:58.085 信息 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1275 ms
28-Dec-2023 16:33:58.178 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina]
28-Dec-2023 16:33:58.179 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/8.5.76]
28-Dec-2023 16:33:58.198 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8082"]
28-Dec-2023 16:33:58.296 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 208 ms
Connected to server
[2023-12-28 04:33:58,687] Artifact mams-rest:war exploded: Artifact is being deployed, please wait...
28-Dec-2023 16:34:08.251 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76\webapps\manager]
28-Dec-2023 16:34:09.144 信息 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
28-Dec-2023 16:34:09.612 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\javaRuanJian\Tomcat\apache-tomcat-8.5.76\webapps\manager]的部署已在[1,354]毫秒内完成
28-Dec-2023 16:34:53.859 信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/JavaWork/HuaRun/GZEngine/gzengine/mams/mams-rest/target/mams-rest/WEB-INF/lib/log4j-slf4j-impl-2.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/JavaWork/HuaRun/GZEngine/gzengine/mams/mams-rest/target/mams-rest/WEB-INF/lib/logback-classic-1.2.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
28-Dec-2023 16:34:54.976 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
28-Dec-2023 16:34:54.978 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[/mams-rest]启动失败
[2023-12-28 04:34:55,117] Artifact mams-rest:war exploded: Error during artifact deployment. See server log for details.

原因分析

1.接口404一般是访问路径不对,找不到对应的资源,反复确认路径无问题,打印断点接口也没有进来,推断tomcat启动起来,项目没有启动起来,具体要看项目层面的output日志,和tomcat层面的日志
2.tomcat日志报错显示栈溢出,导致栈溢出的原因很多,最常见的就是死循环。
3.output日志中的错误信息就比较明显了:Class path contains multiple SLF4J bindings. (类路径包含多个SLF4J绑定。),下面两行打印了具体包。所以基本可以判断是包冲突导致,需要排除不需要的包

问题解决

1.快速查看哪个依赖包含异常包,推荐使用idea的Maven Helper插件(如果没有安装,搜索install即可,这里不做赘述)
在这里插入图片描述
2.安装完Maven Helper插件,打开项目pom.xml文件,可以看到依赖分析按钮
在这里插入图片描述
3.点击依赖分析,搜索异常包,右键,排除
在这里插入图片描述
4.排除后更新maven依赖,重新clean+install项目正常启动

总结

该方案可以快速解决java依赖冲突问题,一般依赖冲突问题都可复用此方案
Maven Helper插件很好用,详细功能可自行百度 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/305642.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

惨案后续之---重装python 3.8版本的一系列操作

AssertionError: The environment must specify an action space. 报错 引发的惨案-CSDN博客https://blog.csdn.net/qq_38480311/article/details/135210089 总结: 接上昨日惨案,大意就是 为了解决一个错误,要安装gym0.18.0,经历了…

Python+OpenCV 零基础学习笔记(6):ROI

文章目录 相关链接运行环境前言ROI颜色区域分割颜色通道合并 相关链接 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程 CSDN标题里个括号对应视频的分P OpenCVPython CSDN专栏 Gitee 项目地址 运行环境 Python:3.11.5Anaconda:23.7.4IDE:vscode运行环境&#x…

Python+OpenCV 零基础学习笔记(4-5):计算机图形基础+Python相对文件路径+OpenCV图像+OpenCV视频

文章目录 相关链接运行环境前言计算机图形OpenCV简单使用图形读取文件读取可能会出现的问题:路径不对解决方案其它路径问题解决方案 图像显示保存OpenCV视频视频素材如何获取?简单视频读取 相关链接 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 …

基于Java+SpringBoot+vue+elementui的校园文具商城系统详细设计和实现

基于JavaSpringBootvueelementui的校园文具商城系统详细设计和实现 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于JavaSpringBootvueelementui的校园文具商城系统详细设计和实现前言介绍:系统设计:系统开发流程用户登录流程系统操作流程 功能…

Python实现马赛克图片处理

文章目录 读取图片代码1、导入使用包2、读取图片 操作图片1、上下翻转2、左右翻转3、颜色颠倒4、降低图片精度5、打马赛克 说明: 在python中,图片可以看成一个三维的矩阵,第一维控制着垂直方向,第二维控制着水平方向,第…

vue+element+springboot实现多张图片上传

1.需求说明 2.实现思路 3.el-upload组件主要属性说明 4.前端传递MultipartFile数组与服务端接收说明 5.完整代码 1.需求说明 动态模块新增添加动态功能,支持多张图片上传.实现过程中对el-upload组件不是很熟悉,踩了很多坑,当然也参考过别的文章,发现处理很…

配置代理解决跨域(CORS)问题

一、跨域 ? 我们在完成前后端分离项目时(VueSpringBoot),有很多人会遇到跨域问题(CORS)。 跨域(Cross-Origin Resource Sharing,CORS)是浏览器的一项安全功能&#xff…

【数据库】为什么要分库分表

为什么要分库分表 1.为什么要分库分表?2.垂直拆分3.水平拆分4.总结4.1 逻辑库和物理库4.2 逻辑表和物理表 1.为什么要分库分表? 随着近些年信息化大跃进,各行各业无纸化办公产生了大量的数据,而越来越多的数据存入了数据库中。当…

Leetcode—1572.矩阵对角线元素的和【简单】

2023每日刷题&#xff08;七十三&#xff09; Leetcode—1572.矩阵对角线元素的和 实现代码 class Solution { public:int diagonalSum(vector<vector<int>>& mat) {int n mat.size();if(n 1) {return mat[0][0];}int sum 0;int i 0, j n - 1;while(i &…

Leetcode 763 划分字母区间

题意理解&#xff1a; 要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 输入&#xff…

Java——值得收藏的Java final修饰符总结!!!

Java final修饰符总结 一、final修饰类二、final修饰方法三、final修饰变量 总结 算下刚转Java到现在也有三个多月了&#xff0c;所以打算对Java的知识进行汇总一下&#xff0c;本篇文章介绍一下Java的final修饰符的作用&#xff0c;final表示最后的、最终的含义&#xff0c;fi…

硅像素传感器文献调研(三)

写在前面&#xff1a; 引言&#xff1a;也是先总结前人的研究结果&#xff0c;重点论述其不足之处。 和该方向联系不大&#xff0c;但还是有值得学习的地方。逻辑很清晰&#xff0c;易读性很好。 1991年—场板半阻层 使用场板和半电阻层的高压平面器件 0.摘要 提出了一种…