NoSuchMethodError 解決方法

2022-09-07 00:12:24 字數 1274 閱讀 2832

j**a.lang.nosuchmethoderror,想必 j**a的開發者都遇到過這個報錯吧,這個錯誤基本上都是由jvm 的 「全網負責委託機制」,(全網負責委託機制是啥? --- 》

)引發的問題, 本人在此奉上三種解決方案:

步驟一:全域性搜尋該方法是否存在,(目前idea可以支援該操作,包括source包均能搜到)如果搜不到那就是真的不存在,一般人不會犯這個錯(除非你不是一般人),如果存在這個方法,看步驟二

*步驟二:*

*步驟三*

:上述兩種方案都沒用,極有可能就是某個jar有衝突,引入了多個版本的類包,這個問題的排查是比較棘手的,特別是在web應用的情況下。類路徑的系統目錄比較多,情況尤其複雜,你很難知道jvm到底從**類包中載入類檔案,針對這個問題,送你乙個jsp用來處理這個情況,將 addsrc

.jsp 放到web應用的根路徑下,通過如下方式即可檢視jvm從哪個類包中載入的指定類,從而就能排除有衝突的jar包了,親測有效哦:

就是找不到那個方法的類)

addsrc.jsp

**如下:

<%@ page language="j**a" import="j**a.util.*" contenttype="text/html; charset=utf-8"%>

<%@page import="j**a.security.*,j**a.net.*,j**a.io.*"%>

<%!

public static url getclasslocation(final class cls)

catch (malformedurlexception ignore) {}}}

}if (result == null)

return result;

}%>

srcadd.jartitle>

head>

使用方法,classname引數為類的全名,不需要.class字尾,如

srcadd.jsp?classname=j**a.net.url

<%

try{

string classlocation = null;

string error = null;

string classname = request.

ADB server didn t ACK解決方法

1 首先通過cmd啟動adb服務。這個時候會提示啟動失敗。adb start server 服務啟動失敗的原因有很多,但一般是埠繫結失敗。我們來檢視一下埠繫結資訊。如圖所示,真的是埠繫結出了問題。adb nodaemon server 3 我們來看看哪個服務占用了這個埠。這裡面有2個程序占用了這個埠...

Invaild TLV record之解決方法

水晶報表版本 9.x 原因 1 安裝包中部分依賴元件缺失 2 登錄檔中缺少關鍵專案 3 報表模板檔案損壞 解決方法1 重新啟動 部分元件註冊或者登錄檔專案修改後沒有立即生效,需要重新啟動才能生效 這種可能性比較小 解決方法2 step1 將ufmanager.dll拷貝到目標機器的c program...

Go race condition以及解決方法

一般情況下是由於在沒有加鎖的情況下多個協程進行操作對同乙個變數操作形成競爭條件.如果沒有鎖的情況會輸出結果非1001.func main times 1000 for i 0 i times i g.wait fmt.println c 多核cpu操作同一變數,可能會取到 舊 的值,是乙個併發導致的...