BUG-SLF4J的jar包多绑定冲突解决

问题回顾:在给项目引入了阿里的百炼大模型sdk后,然后运行Springboot,出现如下的报错信息,根据提示可以知道是有两个slf4j包,发生了冲突

image-20250102095625695

image-20250102094358232

参考的解决方案:

[已解决] SLF4J: Class path contains multiple SLF4J bindings

开始解决该问题:

既然是冲突,那可能就是项目中依赖了多个不同版本的slf4j类库,那如何分析到底是哪几个类库依赖了slf4j呢?我们可以使用dependency:tree命令:

1
mvn dependency:tree

定位到发生冲突的包

image-20250102094246064

方法1:知道了具体的依赖和子包我们就可以找到dashcope中引入的API依赖出现冲突,将其去掉即可了。

image-20250102094631231

方法2:简单粗暴,直接删掉冲突的文件

1
rm -f /app/aimian-backend-0.0.1-SNAPSHOT.jar/BOOT-INF/lib/slf4j-simple-1.7.36.jar