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