将.class转换为.java

fab*_*lin 31 java

我有一些.class文件,我需要转换为.java所以我做了:

javap -c ClassName.class
Run Code Online (Sandbox Code Playgroud)

而且我一直有同样的错误

错误:找不到ClassName.class

你们有什么可能的原因吗?我做了man javap,据我所知,语法是正确的.如果有另一种方法将其转换为.java文件,我非常愿意尝试.任何想法都非常感谢?

aio*_*obe 36

调用javap读取字节码

javap命令采用不带.class扩展名的类名.尝试

javap -c ClassName
Run Code Online (Sandbox Code Playgroud)

将.class文件转换回.java文件

javap但是,它不会为您提供java语法中方法的实现.它最多只能以JVM字节码格式提供给您.

要实际反编译(即反过来javac),你必须使用适当的反编译器.例如,参见以下相关问题:

  • 你读过这个问题吗?你有没有读过"*我有同样的错误`ERROR:找不到ClassName.class`的部分你们有没有想到可能是什么原因?"*另外,你是否已经阅读了我的答案部分解决了如何实际反编译.class文件?你能澄清一下你发现我的答案不正确吗? (3认同)
  • 我强烈反对`javap -c Classname`是一个正确的答案.您不使用`javap`来反编译文件(将二进制文件转换为源代码).`javap`只是一个反汇编程序.这不会为您生成Java源代码.你需要一个合适的java反编译器,比如jad或者喜欢的.也许这些年来我对'javap`并不了解,但我相信指出它的所有答案都是不正确的. (2认同)