java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot依赖冲突

springboot依赖冲突问题及解决过程

作者:树林中的啄木鸟

新搭了一个springboot 2.3.7.RELASE的框架,在集成mysql,tkMapper,mybatis的过程中,启动报错,怎么解决这个问题呢,下面小编给大家带来了springboot依赖冲突问题及解决过程,一起看看吧

项目场景:

 新搭了一个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了。

在这里插入图片描述

到此这篇关于springboot依赖冲突解决过程的文章就介绍到这了,更多相关springboot依赖冲突内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文