今天用springboot开发的时候,引入了公司的一个sdk,发现SDK中的logback与springboot中的logback产生了冲突,冲突原因可能是两者的版本不同。各种查资料,发现可以用maven把springboot中的logback给exclude出去,如图所示
<exclusions>
<exclusion>
<artifactId>xxx</artifactId>
<groupId>xxx-xxx</groupId>
</exclusion>
</exclusions>
如果是用idea,可以在maven的pom文件中右键选择dragrams,再选则show dependencies,就可以看到相关依赖关系图,选中你要exclude的依赖选择exclude就可以自动生成上面的代码。
依赖图能让你看清依赖之间的关系,如果本身就有依赖冲突会用红线标出。
然而此方法只能治标,最好的方式肯定是项目中不要有依赖冲突,各个依赖的版本号统一。
另外,今天发现springboot启动时会默认扫描application启动类所在包以及所有子包下的所有文件