如何从rt.jar反编译Java.class文件

如何从rt.jar反编译Java.class文件,java,decompiling,Java,Decompiling,我从jre1.7中的rt.jar文件中提取了一个.class文件,并尝试使用notepad++打开它,但是它是不可读的。如何将.class文件反编译成.java文件以便查看代码 请注意,我对代码的反编译感兴趣,而不是查看JDK下载中提供的源代码。。class文件是已编译的二进制文件。您无法从它们读取Java代码,但可以运行它们。如果要查看源代码,通常需要.java文件。它们要么打包在同一个jar中,然后放在src文件夹中,要么可以在单独的包中下载。正如@Jon Skeet所说,不要使用JRE,而

我从jre1.7中的rt.jar文件中提取了一个.class文件,并尝试使用notepad++打开它,但是它是不可读的。如何将.class文件反编译成.java文件以便查看代码


请注意,我对代码的反编译感兴趣,而不是查看JDK下载中提供的源代码。

。class
文件是已编译的二进制文件。您无法从它们读取Java代码,但可以运行它们。如果要查看源代码,通常需要
.java
文件。它们要么打包在同一个jar中,然后放在src文件夹中,要么可以在单独的包中下载。

正如@Jon Skeet所说,不要使用JRE,而是使用JDK,它包含了整个源代码。如果您出于某种原因坚持您的方法,那么我建议您使用反编译。

您可以使用任何反编译工具,如将类文件反编译为源代码(java文件)。我正在使用它,它工作得非常完美。

尝试下面列出的任何反编译器:

  • 前体
  • CFR-
  • JD-
  • 蕨类植物

或者使用在线反编译器-

为什么不使用JDK附带的源zip文件?请参考以下问题:@Mr.Skeet,恕我直言,您提供了解决方案的替代方案。但我想问的是,有没有办法将.class文件反编译成.java文件?如果你可以像@JonSkeet建议的那样打开用于构建它的原始.java文件,为什么还要反编译.class文件?@saurabhRai:在大多数情况下,如果你没有访问类文件源代码的权限,如果你开始反编译它,你会进入棘手的法律领域,这取决于你的法律管辖权。如果您真的只想访问已经可用的源代码,那么为什么要进入这个领域呢?注意,由于注释等原因,真正的源代码比反编译代码更容易阅读。