maven下jar包冲突—SLF4J: Class path contains multiple SLF4J bindings

2023-11-13

问题描述:

新项目首次部署到linux环境时,tomcat启动成功(startup.bat窗口无报错,能访问到8080端口tomcat页面),访问项目所有接口均为404。

定位过程:

查看webapps/logs下catalina日志,启动过程中其实是有打印报错日志的,但是在窗口不显示。报错为:

SLF4J: Class path contains multiple SLF4J bindings...

即:class path包括多个slf4j绑定,后面几行分别是不同的slf4j的jar包路径。

很明显是jar包冲突。解决方法有两种:手动删除或者使用maven的exclusion。

解决:

1.手动删除。这个比较简单,根据提示上的路径,直接到lib文件夹下删除不需要的jar包,再重启tomcat。

方法简单粗暴,适合一次性部署的时候使用,因为下次再打包部署,还是会有这些jar包,不能部署一次就手动删除一次吧?因此推荐第二种方法。

2.使用maven的exclusion。首先确定冲突的jar包是哪个依赖(dependency)传进来的,可以在项目pom.xml所在文件夹下,打开cmd窗口,运行mvn dependency:tree >tree.txt,看冲突的jar包是哪个依赖引入的,修改pom.xml,在该dependency里加上<exclusions>来排除依赖。

tips:怎么确定哪些是不需要的jar包?实在不能确定,可以先删除然后试试项目能不能启动成功,并且jar包对应的功能不受影响。特别是用于打印日志的,删除并且启动项目后要测试日志能不能打印,不然以后要定位问题没日志就尴尬了~


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

maven下jar包冲突—SLF4J: Class path contains multiple SLF4J bindings 的相关文章

随机推荐

  • Coding and Paper Letter(六十四)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 资源整理 1 Coding 1 交互式瓦片编辑器 tile playground 2 R语言包autokeras autokeras的R接口 autokeras是一个开源的
  • aix date 脚本_AIX下取前一天时间

    AIX的默认dtae命令是不支持 d参数的 导致大家写脚本很痛苦 没法简单取得前一天的时间 下面有简单方式可以取得 YESTERDAY TZ aaa24 date Y m d echo YESTERDAY 或者是 bin sh TZ TZ
  • Java基础面试题

    怎么理解栈 堆 堆中存什么 栈中存什么 栈是运行时的单位 而堆是存储的单位 栈解决程序的运行问题 即程序如何执行 或者说如何处理数据 堆解决的是数据存储的问题 即数据怎么放 放在哪儿 堆中存的是对象 栈中存的是基本数据类型和堆中对象的引用
  • docker,nvidia-docker安装

    卸载先前的docker Docker 的旧版本被称为 docker docker io 或 docker engine 如果已安装 请卸载它们 sudo apt get remove docker docker engine docker
  • 操作系统笔记整理11——文件和文件系统

    点此链接可跳转到 操作系统笔记整理 目录索引页 参考书籍 计算机操作系统 第四版 汤小丹等编著 文章目录 点此链接可跳转到 操作系统笔记整理 目录索引页 数据项 记录和文件 数据项 记录 文件 文件系统 对象及其属性 对对象操纵和管理的软件
  • 【SP】SubstancePainter安装相关问题

    SP SubstancePainter安装相关问题 安装成功后主要有两个配置问题 驱动和TDR问题 GPU驱动更新 1 从设备管理器中联网搜索驱动会提示以更新至最新版本等类似话语 因此从官网下载驱动 以1050ti显卡为例 下载地址 英伟达
  • 深度学习和图像识别:使用R语言的深入指南

    目录 深度学习简介 准备工作 数据集 构建模型 训练模型 评估模型 结论
  • unity 实现多个物体或单个物体 让其单击物体让其显示再次单击让其隐藏

    unity 实现单击物体让其显示或隐藏 再次单击显示或隐藏 using System Collections using System Collections Generic using Unity Burst CompilerServic
  • SpringBoot去掉jackson并整合Gson

    SpringBoot去掉jackson并整合Gson
  • 微信公众平台——获取用户信息

    第一次握手 获取code code根据用户随机产生 在网页中缓存 注意这个code并不是微信的id 访问 https open weixin qq com connect oauth2 authorize appid redirect ur
  • ngrok服务实现内网穿透

    自建ngrok服务实现内网穿透 名词解释 内网穿透 又叫NAT穿透 是计算机用语 翻译过来就是你的电脑可以直接被你朋友访问 通常我们的电脑是无法自己被访问的 因为我们的电脑缺少自己的独立的ip地址 现在ip稀缺 电信运营商已经不会随便分配固
  • 对手机制造行业供应链系统的一些需求的情景模拟分析

    手机制造行业供应链系统的一些需求的情景模拟分析 一 关键应用列表 关键应用点 管理诉求简述 终端客户的发运管理 客户代管库的管理 在对大的代理商销售过程中 和代理商签订合同后 需要分批分次发运到代理商的各零售终端去 同时还要对未发运部分进行
  • 超文本标记语言(HyperText Markup Language,简称HTML)

    1 什么是HTML HTML是用来描述网页的一种语言 HTML指的是超文本标记语言 HyperText Markup Language 是一种用于创建网页的标准标记语言 HTML不是一种编程语言 而是一种标记语言 标记语言是一套标记标签 H
  • Python最强知识点整理:面向对象封装案例

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对象 然后 让对象调用方法 对象方法的细节 都被
  • BGP基础配置——路由反射器

    目录 前言 一 实验拓扑图 二 实验需求 三 配置步骤 1 AS内建立邻居 2 AS间建立邻居 3 验证邻居关系 4 建立路由反射 五 实验观察 六 总结 前言 网盘资源 https wwa lanzoub com iV6eR0qjhhvg
  • discuz 首页无法打开,报错500错误

    在网上看了好多的案例 都没有很好的解答 刚才研究了下 发现只有首页无法打开 报出http500错误 打开index php后 发现原来是中了木马病毒了 被恶意插入了一段html的淘宝代码 删除了之后 就可以访问了
  • Qt5 信号-槽内容总结

    文章目录 信号与槽 signals slots 简介 信号与槽 信号和槽机制是类型安全 type safe 的 信号 Signal 槽 Slots QObject connect 函数 ConnectionType 参数说明 字符串风格的
  • Linux上查找最大文件的 3 种方法

    Linux上查找最大文件的 3 种方法 第一种 ls 最简单的方法就是借助 ls 命令 因为 ls 命令本身输出是带文件大小信息的 比如 我要列出 bin 目录中的 5 个最大文件 可以 ls lSh bin head 5 第二种 find
  • 2020年网络系统管理改革试点评分标准二

    CII云教学领航中心 题库管理 技术方向 B Windows环境 所属分类 2021 是否样题 否 难易程度 中级 试题类型 项目案例 Windows环境002 试题总分 300分 点击查看试题 考核点1 Dcserver 查看服务器的主机
  • maven下jar包冲突—SLF4J: Class path contains multiple SLF4J bindings

    问题描述 新项目首次部署到linux环境时 tomcat启动成功 startup bat窗口无报错 能访问到8080端口tomcat页面 访问项目所有接口均为404 定位过程 查看webapps logs下catalina日志 启动过程中其