解决 java.lang.NoSuchMethodError的错误
解决java.lang.NoSuchMethodError的错误
1原因
在项目依赖比较复杂或者Java运行的环境有问题时,或者同一类型的jar包有不同版本存在,都可能触发该错误。本质上说是JVM找不到某个类的特定方法,也就是说JVM加载了错误版本的类。说白了,就是JVM找不到真正想要调用的方法啦!出现该错误的情形主要有以下两个种:
- 导入了不匹配的包版本;
- 开发环境和运行环境不一致。
2解决方法
查看“ExternalLibraries”,看报错的方法到底存不存在,如果不存在,说明这个包一定有问题啦,更新包就可以啦;如果存在,说明包已经引入成功,但集成开发环境有可能没有同步到,可以尝试强制更新的方法。此外,可以查看一下开发环境和运行环境是否一致,如果不一致,修改。
3特别提醒
如果是maven工程,在我们更新包的过程中,主要有两种方法:
- 到本地maven仓库中,把对应的包删掉,然后在“mavenproject”中点击刷新;
- 直接在“mavenproject”的命令行中输入命令强制更新。
其中,方法1不太靠谱,有可能操作不成功,原因未知,强烈推荐用方法2,没别的,靠谱啊!
强制更新maven命令:cleaninstall-Dmaven.test.skip=true-U
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!