1. 程式人生 > >方法未找到異常java.lang.NoSuchMethodException的解決辦法

方法未找到異常java.lang.NoSuchMethodException的解決辦法

方法未找到異常java.lang.NoSuchMethodException的解決辦法

客戶端執行,IDE日誌丟擲如下異常:
java.lang.NoSuchMethodException: com.dhf.entity.aam.pubcod.PubGzl.isXShzDmc()
遇到這類問題怎麼辦?

首先來回顧下,在專案中包的層次比較深,package命名規則:package 公司域名.專案名.模組名.子模組名.……;其中有以下幾個小的規範:

  • 類名、介面名 每個單詞的首字母均大寫
  • 變數名、方法名第一個單詞的首字母小寫,之後每一個單詞的首字母均大寫
  • 包名
    全部小寫,包名之間用英文狀態下的句號“ . ”分隔

根據package的命名規則,結合本文所出現異常的方法【isXShzDmc()】,下面來看下-java.lang.NoSuchMethodException方法未找到異常這類問題該如何解決:
Step 1 :檢查類層存不存在此方法
Step 2 :檢查此方法是不是為public

  • 只能呼叫public宣告的方法,這個方法不能是private,也不能是protected。

Step 3 :檢查此方法是否傳了引數,類的方法有引數
Step 4 :檢查類中的方法名字和struts.xml檔案中配置的名字相不相符
Step 5

:尋其根本原因,檢查jar包。考慮以下幾個方面:

  • 檢查jar包是否被引入?是否存在多個jar包版本致使沒有載入到所期望的jar包?檢查jar包中某些jar檔案是否缺少?檢查jar包中某些jar檔案是否重複?

如果上述檢查修改還未解決問題,則只能採取下下策,清理快取後重新部署專案。但由於有時候可能專案緊張複雜,不到萬不得已,不建議這麼做!


  • 致謝
    若對大家有用,感謝點贊或評論;若有不足或補充之處,也感謝大家評論進行指正,後期我將對本文進行補充完善。相信這是互相進步的開始!