NoSuchMethodError異常處理之特殊處理方式

若出現NoSuchMethodError異常,大家第一時間就會想到沒這個方法或jar包問題:如下示例

java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String() in Java EE application


我以爲是我多個版本的緣故,後來我把低版本的全部刪除了,僅留下commons-codec之1.5.jar,可是後來發現還是一直不行,始終還是報上面的NoSuchMethodError異常。

糾結了會兒想到了個辦法,是不是其它jar包裏面完全重寫了Base64這個類導致的呢?可以用以下方式打印下Base64這個類來自具體的哪個jar包:
BinaryCodec.class.getProtectionDomain().getCodeSource().getLocation()
       後來驚奇的發現果然是其它三方jar包(QQ登錄的Sdk4J.jar)裏面全重寫Base64的commons-codec庫,接下來的工作大家都知道了哈,就不廢話了微笑



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章