亲宝软件园·资讯

展开

springboot依赖冲突

树林中的啄木鸟 人气:4

项目场景:

 新搭了一个springboot 2.3.7.RELASE的框架,在集成mysql,tkMapper,mybatis的过程中,启动报错。

问题描述:

提示各种依赖的错误 通过idea的功能解决冲突依赖,尝试了多次,也不行 还尝试过删除可能意外引入的jar:

在这里插入图片描述

原因分析:

在之前搭的一个分布式项目里面有这些基础的配置,依赖按照版本拿过来一个个添加,尝试,依然不行。 在旧的项目可以,在这里就不行。 把springboot版本改成和旧项目一样,也不可以。

解决方案:

最后,把代码全部删掉(因为是新项目,所以原本也没几个文件),只留下了一个启动类。然后maven依赖只留下了springboot的test 和 web,尝试启动,是可以的。 接着,慢慢加mysql-collection 依赖,druid依赖。到这里的时候报错了。 查看控制台,发现报错的是一个1.5.7的springboot。想着把它通过exclusions去掉,然后接着clear, install 打包,又报错了。又是一个新的错误。 这时候想起来在最开始处理依赖的时候,就是各种exclusions去除jar包,就是因为版本的问题。 想着添加parent试试。 在pom.xml里面添加parent,通过parent控制springboot依赖。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.7.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

然后把前面去除的exclusions配置去掉,发现这时候启动报的错误正常了!
这里说的正常,是指配置什么,报的是它相关的错误,而不是一些稀奇古怪都没见过的错误。

在这里插入图片描述

查看了下mysql的配置文件没问题,然后根据这个错误百度下:

Unsatisfied dependency expressed through field 'basicProperties

在这里插入图片描述

在项目里面复制进来,没有输入版本号,发现直接自动引入了当前springboot对应的版本。

在这里插入图片描述

然后重启,成功了。

在这里插入图片描述

总结

看了下之前写的项目,发现也是有加parent的,可能是时间长了,忘记了,这次做个笔记记录一下。
这次为啥不加呢,因为搭建的maven工程是有module的,父子工程。
了解了maven的dependencyManagement后,就想通过它来管理jar包依赖,所以就没加parent了。

在这里插入图片描述

加载全部内容

相关教程
猜你喜欢
用户评论