项目场景:
Spring boot
Spring boot项目
关键词:spring boot,spring cloud , mysql
问题描述
项目没有任何改动,再次启动IDEA报错。
启动项目报错:An attempt was made to call a method that does not exist. …
原因分析:
maven依赖冲突。
解决方案:
添加version
网上主要有两种solution:
- 报错信息显示的目录下删除冲突的文件。
这种方式对于有些人有效,但是对我来说并不是最优解。因为有时可能有删除导致全部瘫痪的风险><
需要可参考:删除冲突包
- 在pom文件下添加/改正对应的version版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.0</version>
</parent>
参考链接:
- https://blog.csdn.net/m0_60721514/article/details/124501812?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0-124501812-blog-106739394.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_index=2
- https://blog.csdn.net/qq_34910843/article/details/114986669?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-114986669-blog-121287262.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-114986669-blog-121287262.pc_relevant_antiscanv2&utm_relevant_index=2
总结:
这两个链接给我很多启发。我首先看了报错显示,大概意思是它从一个包里(2.4.2)加载了这个方法,但是它想从另一个path(2.6.0)去加载这个方法(我我理解大概是这个意思),总而言之就是冲突了。于是我去对应路径看到如下情况,删除了2.4.2,保留了2.6.0, 并修改了对应的pom文件, 刷新 。
然后,一切都OK啦 😄