将.class转换为.java
我有一些.class文件,我需要转换为.java所以我做了:
javap -c ClassName.class
而且我一直有同样的错误
错误:找不到ClassName.class
你们有什么可能的原因吗? 我做了man javap,据我所知,语法是正确的。 如果有另一种方法将其转换为.java文件,我非常愿意尝试。 非常感谢任何想法?
调用javap
来读取字节码
javap
命令采用不带.class
扩展名的.class
名。 尝试
javap -c ClassName
将.class文件转换回.java文件
但是, javap
不会为您提供java语法中方法的实现。 它最多只能以JVM字节码格式提供给你。
要实际反编译 (即,执行javac
的反向),您将必须使用适当的反编译器。 例如,参见以下相关问题:
- 如何“反编译”Java类文件?
你应该尝试一些Java Decompiler。
- JD-GUI
- DJ Java Decompiler
我猜测类名是错误的 – 确保使用完全解析的类名,包含所有包 – 或者它不在CLASSPATH中,因此javap无法找到它。
试试这个在线工具: http ://secureteam.net/Java-Decompiler.aspx为我工作!
您需要一个Jar文件才能读取其CLASS文件
这适用于Mac用户:
首先,您必须澄清类文件的位置…例如,在“终端”(Mac应用程序)中,您可以键入:
cd
那么你提交的地方就是:
cd /Users/CollarBlast/Desktop/JavaFiles/
然后你会点击进入。 之后你会做命令。 例如:
cd /Users/CollarBlast/Desktop/JavaFiles/
(然后我会输入…)
然后我会输入命令:
javap -c JavaTestClassFile.class
(然后我再次按回车键…)
并希望它应该工作!