出现 java.lang.NoSuchMethodError 错误的原因及解决方法
  g8klprzfvf40 2023年12月12日 27 0

1 原因

在项目依赖比较复杂或者 Java 运行的环境有问题时,或者同一类型的 jar 包有不同版本存在,都可能触发该错误。本质上说是 JVM 找不到某个类的特定方法,也就是说 JVM 加载了错误版本的类。说白了,就是 JVM 找不到真正想要调用的方法啦!出现该错误的情形主要有以下两个种:

  • 导入了不匹配的包版本;
  • 开发环境和运行环境不一致。

2 解决方法

查看“External Libraries”,看报错的方法到底存不存在,如果不存在,说明这个包一定有问题啦,更新包就可以啦;如果存在,说明包已经引入成功,但集成开发环境有可能没有同步到,可以尝试强制更新的方法。此外,可以查看一下开发环境和运行环境是否一致,如果不一致,修改。

3 特别提醒

如果是 maven 工程,在我们更新包的过程中,主要有两种方法:

  1. 到本地 maven 仓库中,把对应的包删掉,然后在“maven project”中点击刷新;
  2. 直接在“maven project”的命令行中输入命令强制更新。

其中,方法 1 不太靠谱,有可能操作不成功,原因未知,强烈推荐用方法 2,没别的,靠谱啊!

强制更新maven命令:clean install -Dmaven.test.skip=true -U

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月12日 0

暂无评论

推荐阅读
  0piCg03t9xej   2023年12月23日   105   0   0 mavenxmlJavaJavamavenxml
g8klprzfvf40