解決 java.lang.NoSuchMethodError的錯誤
1 原因
在項目依賴比較復(fù)雜或者 Java 運行的環(huán)境有問題時,或者同一類型的 jar 包有不同版本存在,都可能觸發(fā)該錯誤。本質(zhì)上說是 JVM 找不到某個類的特定方法,也就是說 JVM 加載了錯誤版本的類。說白了,就是 JVM 找不到真正想要調(diào)用的方法啦!出現(xiàn)該錯誤的情形主要有以下兩個種:
- 導(dǎo)入了不匹配的包版本;
- 開發(fā)環(huán)境和運行環(huán)境不一致。
2 解決方法
查看“External Libraries”,看報錯的方法到底存不存在,如果不存在,說明這個包一定有問題啦,更新包就可以啦;如果存在,說明包已經(jīng)引入成功,但集成開發(fā)環(huán)境有可能沒有同步到,可以嘗試強制更新的方法。此外,可以查看一下開發(fā)環(huán)境和運行環(huán)境是否一致,如果不一致,修改。
3 特別提醒
如果是 maven 工程,在我們更新包的過程中,主要有兩種方法:
- 到本地 maven 倉庫中,把對應(yīng)的包刪掉,然后在“maven project”中點擊刷新;
- 直接在“maven project”的命令行中輸入命令強制更新。
其中,方法 1 不太靠譜,有可能操作不成功,原因未知,強烈推薦用方法 2,沒別的,靠譜啊!
強制更新maven命令:clean install -Dmaven.test.skip=true -U
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/qq_35246620/article/details/54412648