Maven打包时候排除依赖库包的方法【20211211】

发表于 2021-12-11 09:06:58
阅读 116

介绍

介绍

福哥在使用tfspring库包开发新的项目的时候,发现启动项目就会得到如下的错误信息:

SLF4J: Class path contains multiple SLF4J bindings.

这个字面的意思是SLF4J被重复引用了~~

错误

看错误是logback和slf4j冲突了!

home/topic/2021/1211/10/7b9f21f1efc13b32b2feca2c0b87bf85.png

依赖

这是因为福哥的tfspring库包是基于SpringBoot开发的,这个框架里面包含了org.slf4j库包。而项目也是基于SpringBoot开发的,所以这个org.slf4j被重复引入了。

排除

福哥在tfspring库包的POM里面增加了logging的引用,并且设置scope为proided,这样logging库包就不会被打包到最终的tfspring库包里面了。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
    <scope>provided</scope>
</dependency>

总结

开发SpringBoot项目免不了的会遇到各种的库包冲突问题。因为大多数库包制作者都会先入为主的认为客户项目不会包含它需要的三方库包,所以他们就会把依赖的库包直接打包到自己的库包里面。如果客户项目引用了这个三方库包的话,就会出现引用冲突问题了~~