如何将 JDK 源代码重新绑定到我的 IDE?

How to rebind JDK Source Code to my IDE?

我想看看 Java API 中的方法是做什么的。为此,我需要以某种方式在我的计算机上安装或放置 JDK 源代码。

在我重新安装 Linux 之前,我有一个包含所有官方源代码的 src.zip 包。我只需要告诉我的 IDE 这个文件在哪里,它就会自动找到并显示我想看的 Java 代码。但是现在我丢失了文件并且无法重新定位它。看来 Oracle 要么隐藏了源代码,要么想出了一种不同的发布方式。

我使用 Eclipse,但我认为大多数现代 IDE 的过程几乎相同。

所以问题是:如何让我的 IDE 能够再次查找并绑定到 Java 源代码?

我写这个问题是为了修改 Where to find Java JDK Source Code? 的副本。由于偏离主题而关闭,但我认为这是一个非常相关的问题。

简答

如果您正在使用 Oracle 的 Java,您需要做的就是安装您正在使用的 Java 软件包的 JDK,然后设置您的 IDE 使用 JDK 来支持其项目。 "src.zip" 是预打包的,您的 IDE(或至少 Eclipse)应该能够自行显示其中的源文件。

如果您使用的是开放式 JDK,您只需要知道 JDK、它的 Java 文档和它的源代码都在它们自己的 rpm 中.要获得您正在使用的 java 版本的源代码,您只需要找到并安装 java-1.X.X-openjkd-src。 1.8 在名称中添加了“-debug”。完成后,只需重新启动 IDE,它应该会在重新加载其项目时获取源文件。

甲骨文

如果您正在使用 Oracle 的 Java,您需要确保您是针对 JDK 而不是 JRE 进行开发。这是一个示例站点,它允许您下载 JavaSE 的 JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

您需要接受许可协议,然后为要安装它的系统提取适当的 JDK。就我而言,我在 64 位 Linux 上安装,所以我下载了 jdk-8u121-linux-x64.rpm.

下载后,运行 安装程序。完成后,寻找安装程序实际放置文件的位置。在 Linux 上,您可以使用此命令查找您安装的内容...

rpm -qa | grep jdk

...这是查找其信息(在我的例子中,使用 jdk1.8.0_121.

rpm -qi jdk1.8.0_121

您可以查看 Relocations 字段以了解从哪里开始,或者您可以将 -i 参数更改为 -l 以获取实际安装的文件的完整列表。

您只需用 IDE 注册这个新安装的 JDK,它就会足够聪明,知道在哪里可以找到源代码。但是,如果这不能完成工作,您可以通过搜索完整的已安装文件列表来找到 src.zip 文件,如下所示:

$ rpm -ql | grep 'src.zip'
/usr/java/jdk1.8.0_121/src.zip

现在只需将 IDE 指向该 zip 文件,就可以了。

打开JDK

找到 open JDK 源代码的唯一技巧是意识到他们将源代码安装在 与基本 JDK 不同的包 中].
因此,使用您选择的包管理器,查找可用的 jdk 包。查看您已安装和正在使用的软件包,找到具有相同名称和 -src 扩展名的软件包。

因此,如果您有 java-1.8.0-openjdk,您应该能够找到 java-1.8.0-openjdk-src。安装那个包,重新启动你的 IDE,然后你应该可以查看源代码。