解決 java.lang.NoSuchMethodError的問題
1、操作
項目重新打包后,程序就找不到對應的方法
Handler dispatch failed; nested exception is java.lang.NoSuchMethodError
3、原因(可能有多種原因,但下面是我這次導致錯誤的原因)
有2個不同版本的jar同時存在
注:項目的打包都是maven的package,結(jié)果發(fā)現(xiàn)這種方式不會把同名的另外版本的jar給clean掉,所以之后要先clean再package

4.解決方法
刪除掉老版本的jar
其間做過的事情:
1.懷疑傳參 的時候是否需要引入標注 是否對應的相同類型 2.是否別處核心在啟動中 3.差錯提示中路徑中多出一個大寫“L” 例如:Lcom/citydelivery/deliveryService/DTO/Response;]由于自己java開發(fā)經(jīng)驗不多 看到這個提示懷疑自己是否不注意 在某個地方碰到鍵盤”L“ 全局搜索并沒有找到有錯的地方 然后接下來堆棧跟蹤:java.lang.NoSuchMethodError:com.citydelivery.deliveryService.ExpressStockService.getWaitSignWaybillList(Ljava/lang/String;)
解決方法
Java使用這些字母在內(nèi)部對方法簽名進行編碼.例如,“L”宣布以下“對象”,其由完整的類名稱指定,后跟分號. “V”應該在括號前面,并描述一種返回類型“void”.
舉個例子:
java.lang.NoSuchMethodError:
org.springframework.web.context.ContextLoader
.getCurrentWebApplicationContext()Lorg/springframework/web/context/WebApplicationContext;
它說,org.springframework.web.context.ContextLoader類中沒有方法調(diào)用getCurrentWebApplicationContext,它不接受任何參數(shù)[由()表示),并返回一個名為“org / springframework / web / context / WebApplicationContext(由’;’關閉).
編輯:所有代碼的列表在JNI specs表3.2中.
EDIT2:更加有用:JVM規(guī)范的第4.3 Descriptors節(jié)包含格式和代碼的完整參考.