IDEA中使用javap反編譯工具,出現找不到類的錯誤,解決方法


因為在看java編程思想,看到String章節,發現一個命令javap,可以反編譯看匯編代碼,進行代碼的可行性優化。

自己心血來潮,在自己的IDEA中想試一試,不想使用cmd命令。正所謂,君子性非異也,善假於物也。廢話不多說了。

按照網上的方法,在IDEA添加了External Tools,如圖:

之后我興高采烈的去,找個類進行,試驗一下,結果:

找不到目標類,很疑惑,去網上找解決的辦法,無果而歸。然后自己摸索,發現這樣也可以。

首先,我們知道javap命令是用來反編譯class文件的,不是java源文件,一定不要顛倒乾坤了。

平時我們使用命令反編譯是這樣做的,首先編寫一個java代碼文件,之后javac編譯成class文件,然后使用javap來反編譯class文件。

1、在當前class所在目錄打開cmd命令窗口反編譯

發現很容易就成功了。

2、不在當前class文件目錄打開cmd呢?我在開始搜索框中直接打開,按着思路試了一下

 發現失敗了,也出現找不到類的問題。為什么呢?在文件后面加上.class后綴如何

加上之后成功了,欣喜若狂,不能自己。

回到IDEA,想一想,你是不是有所發現,有點感覺

 

找不到類。為什么呢?是不是文件沒有加.class后綴:

 結果還是失敗,還是沒有找到類。What!!

難道,是不是我反編譯的命令執行的所在文件路徑,和目標class文件不再一個文件中,嗯,有可能,那我們就用絕對路徑加.class后綴試試:

發現好使,可以反編譯,激動的心,顫抖的手。

再次提醒,javap反編譯,目標文件是.class字節碼文件,不是.java源文件。

我的IDEA是2019.2版本的,目前自己摸索的這種解決找不到類的方法,僅供參考,希望對朋友有所幫助。

水平有限,如有瑕疵,望不吝賜教。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM