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.rhkb.cn/news/226437.html

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

相关文章

人工智能的新篇章:深入了解大型语言模型(LLM)的应用与前景

LLM(Large Language Model)技术是一种基于深度学习的自然语言处理技术,旨在训练能够处理和生成自然语言文本的大型模型。 LLM 技术的核心思想是使用深度神经网络,通过大规模的文本数据预训练模型,并利用这些预训练模型…

linux 防火墙查看放行端口,追加放行端口命令

linux 查看防火墙已经放行端口列表 firewall-cmd --list-ports 运行结果如下: linux 追加防火墙经放行端口(如追加443) firewall-cmd --zonepublic --add-port443/tcp --permanent 亲测有效!

【WPF.NET开发】路由事件

本文内容 先决条件什么是路由事件?路由策略为什么使用路由事件?附加并实现路由事件处理程序类处理程序WPF 中的附加事件XAML 中的限定事件名称WPF 输入事件EventSetter 和 EventTrigger Windows Presentation Foundation (WPF) 应用程序开发人员和组件…

FileZilla的使用主动模式与被动模式

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《产品经理如何画泳道图&流程图》 ⛺️ 越努力 ,越幸运 目录 一、FileZilla简介 1、FileZilla是什么? 2、FileZilla的应用场景 二、FileZilla的安装 1、下…

【直播预告】刘军博士:科学研究中的AI计算:何助力团队协作创新

【直播预告】随着数据、算法、算力的融合发展,AI已经成为科学和工程研究的不可或缺的力量,涉足药物设计、天气预测、新材料研发等领域。在AI领域,协作是关键。欢迎大家关注12月28日20:00九章云极资深数据科学家刘军博士的直播!刘军…

HLS 2017.4 导出 RTL 报错:ERROR: [IMPL 213-28] Failed to generate IP.

软件版本:HLS 2017.4 在使用 HLS 导出 RTL 的过程中产生如下错误: 参考 Xilinx 解决方案:https://support.xilinx.com/s/article/76960?languageen_US 问题描述 DESCRIPTION As of January 1st 2022, the export_ip command used by Vivad…

【计算机视觉】角点检测(Harris、SIFT)

Harris 角点指的是窗口延任意方向移动,都有很大变化量的点。 用数学公式表示为: E(u,v)反映的移动后窗口的差异,w(x,y)为每个像素的点权值,I(xu,yv)是移动的像素值,I(x,y)是移动前的像素值。 将E(u,v)进行泰勒展开&am…

MySQL进阶之(一)逻辑架构

一、逻辑架构 1.1 逻辑架构剖析1.1.1 连接层1.1.2 服务层01、基础服务组件02、SQL Interface:SQL 接口03、Parser:解析器04、Optimizer:查询优化器05、Caches & Buffers: 查询缓存组件 1.1.3 引擎层1.1.4 存储层1.1.5 总结 1.…

elasticsearch系列九:异地容灾-CCR跨集群复制

概述 起初只在部分业务中采用es存储数据,在主中心搭建了个集群,随着es在我们系统中的地位越来越重要,数据也越来越多,针对它的安全性问题也越发重要,那如何对es做异地容灾呢? 今天咱们就一起看下官方提供的…

25、商城系统(七):商城项目基础功能pom.xml(重要),mybatis分页插件

截止这一章,我们就不把重心放在前端,后台的基础代码,因为后面都是业务层面的crud。 前端直接替换这两个文件夹即可,后台代码也直接复制: 一、重新更新一下所有的pom.xml 这个地方我踩了好多坑,最后得到一个完整的pom.xml,建议大家直接用我的pom.xml替换即可。 1.comm…

大数据与人工智能|万物皆算法(第三节)

要点一:数据与智能的关系 1. 一切的核心都是数据,数据和智能之间是密切相关的。 数据是对客观现实的描述,而信息是数据转化而来的。 例如,24是数据,但说“今天的气温是24摄氏度”是信息,而说“班可以分成24…

How to Develop Word Embeddings in Python with Gensim

https://machinelearningmastery.com/develop-word-embeddings-python-gensim/ 本教程分为 6 个部分;他们是: 词嵌入 Gensim 库 开发 Word2Vec 嵌入 可视化单词嵌入 加载 Google 的 Word2Vec 嵌入 加载斯坦福大学的 GloVe 嵌入 词嵌入 单词嵌入是一种提供单词的…

web自动化(4)——POM设计重构

1. 什么是POM Page Object Model 是ui自动化测试中常见的封装方式。 原理:将页面封装为PO对象,然后通过面向对象的方式实现UI自动化 2. 封装原则 PO无需包含全部UI元素PO应当验证元素PO不应该包含断言PO不应该暴露元素 3. 怎么进行POM封装 面向对象…

IntelliJ IDE 插件开发 | (四)开发一个时间管理大师插件

系列文章 IntelliJ IDE 插件开发 |(一)快速入门IntelliJ IDE 插件开发 |(二)UI 界面与数据持久化IntelliJ IDE 插件开发 |(三)消息通知与事件监听IntelliJ IDE 插件开发 |(四)开发一…

Flink1.17实战教程(第四篇:处理函数)

系列文章目录 Flink1.17实战教程(第一篇:概念、部署、架构) Flink1.17实战教程(第二篇:DataStream API) Flink1.17实战教程(第三篇:时间和窗口) Flink1.17实战教程&…

【51单片机系列】DS18B20温度传感器扩展实验之设计一个智能温控系统

本文是关于DS18B20温度传感器的一个扩展实验。 文章目录 一、相关元件介绍二、实验分析三、proteus原理图设计四、软件设计 本扩展实验实现的功能:利用DS18B20设计一个智能温度控制系统,具有温度上下限值设定。当温度高于上限值时,电机开启&a…

2023年12月28日学习记录

目录 1、今日计划学习内容2、今日学习内容文献阅读—A Data-driven Base Station Sleeping Strategy Based on Traffic Prediction0、选这篇文章的原因1、文章的主要内容和贡献2、使用的数据集3、结果及分析4、郭郭有话说 整理流量预测的代码 3、今日学习总结 1、今日计划学习内…

边缘智能网关在智慧大棚上的应用突破物联网大关

边缘智能网关在智慧大棚上的应用,是现代农业技术的一大突破。通过与农作物生长模型的结合,边缘智能网关可以根据实时的环境数据和历史数据,预测农作物的生长趋势和产量,提供决策支持和优化方案。这对于农民来说,不仅可…

Rosalind 033 Finding a Shared Spliced Motif

题目背景: 上述问题的解决方法是使用动态规划来找出两个DNA字符串的最长公共子序列(LCS)。 https://rosalind.info/problems/lcsq/ 很经典的动态规划问题了。直接给出解题步骤: 1. 初始化矩阵:创建一个大小为 (len…

Qt的简单游戏实现提供完整代码

文章目录 1 项目简介2 项目基本配置2.1 创建项目2.2 添加资源 3 主场景3.1 设置游戏主场景配置3.2 设置背景图片3.3 创建开始按钮3.4 开始按钮跳跃特效实现3.5 创建选择关卡场景3.6 点击开始按钮进入选择关卡场景 4 选择关卡场景4.1场景基本设置4.2 背景设置4.3 创建返回按钮4.…