java反射調(diào)用方法NoSuchMethodException的解決方案
java反射調(diào)用方法NoSuchMethodException
1、方法定義成 public類型.
2、getMethod傳參要正確
- 比如調(diào)用定義的:public void show(Object obj)
- 要這樣調(diào)用 clazz.getMethod("show",Object.class);而不是obj.class
3、invoke時(shí)invoke(this,obj)
- 傳參要正確,看好傳的是對(duì)象,this是調(diào)用該方法的類實(shí)例對(duì)象,obj是方法的實(shí)參
NoSuchMethodException問(wèn)題總結(jié)
1、編譯異常,這個(gè)很容易發(fā)現(xiàn)并解決
- method真的沒(méi)有
- 替換jar包沒(méi)有clean project。
2、編譯正常,運(yùn)行報(bào)錯(cuò)
這是一個(gè)遇到之后讓人納悶的異常,腦袋不轉(zhuǎn)彎的時(shí)候真的容易被卡住。
這時(shí)只要去編譯目錄下:
1)查看下相應(yīng)的jar包是否被引入;如果沒(méi)有,咋把jar包拷入相應(yīng)的目錄;pom項(xiàng)目的話則檢查下依賴的scope是不是provided等不隨項(xiàng)目一起發(fā)布的配置。
2)檢查下對(duì)應(yīng)的jar包是否存在多個(gè)版本,導(dǎo)致沒(méi)有加載期望的jar包,我遇到的問(wèn)題就是這樣的。
3)重新導(dǎo)入項(xiàng)目,下策,但是絕大多數(shù)情況有效。但有時(shí)候因?yàn)轫?xiàng)目很復(fù)雜、時(shí)間緊張等原因不適合這么做。
4)如果以上方法試了,沒(méi)有別的解決方式。實(shí)在搞不定,找人幫忙解決。浪費(fèi)太多時(shí)間在環(huán)境問(wèn)題上,不明智,也沒(méi)啥丟人的,有時(shí)候可能只是說(shuō)一說(shuō)自己就明白了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Java通過(guò)PropertyDescriptor反射調(diào)用set和get方法
- Java如何加載外部Jar的類并通過(guò)反射調(diào)用類的方法
- java 反射調(diào)用Service導(dǎo)致Spring注入Dao失效的解決方案
- Java 使用反射調(diào)用jar包中的類方式
- Java使用反射調(diào)用方法示例
- java中利用反射調(diào)用另一類的private方法的簡(jiǎn)單實(shí)例
- Java 反射調(diào)用靜態(tài)方法的簡(jiǎn)單實(shí)例
- 反射調(diào)用private方法實(shí)踐(php、java)
- java反射調(diào)用get/set方法實(shí)現(xiàn)
相關(guān)文章
Java使用itextpdf實(shí)現(xiàn)PDF轉(zhuǎn)文本以及轉(zhuǎn)圖片
PDF轉(zhuǎn)文本的插件常用的有pdfbox ,itextpdf 和 spire.pdf,本文主要介紹如何使用itextpdf實(shí)現(xiàn)PDF轉(zhuǎn)文本以及轉(zhuǎn)圖片,需要的可以參考一下2025-01-01
Java Socket設(shè)置timeout的幾種常用方式說(shuō)明
這篇文章主要介紹了Java Socket設(shè)置timeout的幾種常用方式說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之環(huán)形鏈表
無(wú)論是靜態(tài)鏈表還是動(dòng)態(tài)鏈表,有時(shí)在解決具體問(wèn)題時(shí),需要我們對(duì)其結(jié)構(gòu)進(jìn)行稍微地調(diào)整。比如,可以把鏈表的兩頭連接,使其成為了一個(gè)環(huán)狀鏈表,通常稱為循環(huán)鏈表2022-02-02
java中timer的schedule和scheduleAtFixedRate方法區(qū)別詳解
這篇文章主要為大家詳細(xì)介紹了java中timer的schedule和scheduleAtFixedRate方法區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
SpringBoot項(xiàng)目如何連接MySQL8.0數(shù)據(jù)庫(kù)
這篇文章主要介紹了SpringBoot項(xiàng)目如何連接MySQL8.0數(shù)據(jù)庫(kù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
cmd中javac和java使用及注意事項(xiàng)詳解
這篇文章主要介紹了cmd中javac和java使用及注意事項(xiàng)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
SpringMVC之DispatcherServlet配置文件應(yīng)該放在哪里呢
這篇文章主要介紹了SpringMVC之DispatcherServlet配置文件應(yīng)該放在哪里的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11

