- 获取并阅读 Eclipse 平台本身的 Java 源代码:这是如果你想了解 Eclipse 框架是如何工作的,或者想基于 Eclipse 进行深度开发。
- 获取你所使用的 JDK/SDK 的 Java 源代码:这是在 Eclipse 中进行日常 Java 开发时,查看
String,List,HashMap等 Java 标准库源码的方法。
下面我将分别详细介绍这两种情况。
获取并阅读 Eclipse 平台本身的 Java 源代码
Eclipse 本身是用 Java 编写的,它的源代码是公开的,通过阅读源码,你可以学习到如何构建一个大型、可扩展的 IDE,或者深入理解某个特定功能(如调试器、资源管理)的实现。
从 Eclipse 官方 Git 仓库克隆源代码
这是最推荐的方式,因为你可以获得最新的代码,并且可以方便地跟踪历史版本和提交记录。
步骤:
-
安装 Git:如果你的电脑上没有安装 Git,请先从 git-scm.com 下载并安装。
-
克隆仓库:打开命令行工具(如 Git Bash, Terminal, PowerShell),然后执行以下命令,Eclipse 的主要平台代码托管在 Eclipse 基金会的 Git 服务器上。
# 克隆 Eclipse 平台核心的 UI 源代码 git clone https://git.eclipse.org/r/eclipse/platform.ui/org.eclipse.ui # 克隆 Eclipse JDT (Java Development Tools) 的源代码,这对于 Java 开发者尤其重要 git clone https://git.eclipse.org/r/eclipse.jdt/eclipse.jdt.core # 克隆 Eclipse RCP (Rich Client Platform) 的核心源代码 git clone https://git.eclipse.org/r/eclipse.platform/org.eclipse.platform
你可以在 Eclipse Git 服务器 上找到更多项目的仓库地址。
-
导入到 Eclipse:
- 打开你的 Eclipse IDE。
- 选择
File->Import。 - 在弹出的窗口中,选择
Git->Projects from Git,然后点击Next。 - 选择
URI,然后粘贴你刚才克隆的仓库地址(或者选择Local,指向你本地的克隆目录)。 - 按照向导完成导入,Eclipse 会自动识别这是一个 Maven 或 OSGi 项目,并为你配置好项目结构。
使用 Eclipse 的 "Eclipse Pulsar" 镜像项目
Eclipse 官方也提供了一个名为 "Pulsar" 的镜像项目,它将主要的 Eclipse 项目打包成可以直接导入的 Eclipse 项目文件。
步骤:
- 访问 Eclipse Pulsar 网站。
- 你可以在这里找到打包好的项目下载链接,这种方式比较简单,但可能不如 Git 仓库那么灵活。
使用 SourceForge (旧版)
对于一些较旧的版本,你可以在 SourceForge 上找到源代码包,但现在不推荐这种方式,因为它不是最新的。
阅读源代码的技巧:
- 使用 Eclipse 的 Open Call Hierarchy (F3/F4):这是最强大的工具,当你点击一个方法或类名,然后按
F3(Go to Declaration) 或F4(Open Type Hierarchy),可以快速跳转到其定义,使用Ctrl+Alt+H(Open Call Hierarchy) 可以看到所有调用这个方法的地方。 - 使用 Search 功能:利用 Eclipse 强大的全局搜索功能,通过类名、方法名、关键词来定位代码。
- 关注 OSGi 框架:Eclipse 是基于 OSGi (Open Service Gateway initiative) 构建的,理解 Bundle (模块) 的概念对阅读 Eclipse 源码至关重要,你会发现代码被分割成许多不同的 Bundle,每个 Bundle 都有自己的
MANIFEST.MF文件,定义了它依赖和导出的包。
在 Eclipse 中查看 JDK/SDK 的 Java 源代码
这是日常开发中更常见的需求,当你调试代码时,想看看 java.lang.String 的 substring() 方法具体是怎么实现的,或者 ArrayList 的 add() 方法的内部逻辑。
关联 JDK 源代码文件 (最直接)
这是最传统且可靠的方法,适用于任何 JDK 版本。
步骤:
-
找到 JDK 源代码:
- 如果你下载的是 JDK (而不是 JRE),通常源代码会包含在
src.zip文件中,这个文件位于 JDK 的根目录下。 - 在 Windows 上:
C:\Program Files\Java\jdk-17.0.2\src.zip - 在 macOS/Linux 上:
/usr/lib/jvm/java-11-openjdk-amd64/src.zip(路径可能不同)
- 如果你下载的是 JDK (而不是 JRE),通常源代码会包含在
-
在 Eclipse 中关联:
- 打开 Eclipse,进入
Window->Preferences(在 macOS 上是Eclipse->Preferences)。 - 导航到
Java->Installed JREs。 - 在右侧列表中,选择你当前正在使用的 JRE,如果列表为空,你需要点击
Add...->Standard VM,然后指向你的 JDK 安装目录。 - 关键一步:选中你的 JRE,然后点击旁边的
Edit...按钮。 - 在弹出的窗口中,你会看到一个名为 "Source attachment" 的选项,点击
External File...。 - 浏览并选择你刚刚找到的
src.zip文件。 - 点击
OK保存所有设置。
- 打开 Eclipse,进入
-
验证:
- 在你的 Java 代码中,按住
Ctrl键,然后用鼠标点击任何一个 Java 标准库的类(如String)。 - 如果设置成功,它会直接跳转到该类的源代码,而不是显示
The source attachment does not contain the source for the file ...的错误。
- 在你的 Java 代码中,按住
使用 Maven/Gradle 自动下载源码 (推荐)
如果你使用 Maven 或 Gradle 管理项目,Eclipse 可以自动帮你下载依赖库的源代码和 Javadoc。
对于 Maven 项目:
- 确保你的
pom.xml文件中包含了依赖项,<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency> - 在 Eclipse 的
Package Explorer或Project Explorer中,右键点击你的项目。 - 选择
Maven->Download Sources。 - Eclipse 会自动通过 Maven 中心仓库下载该依赖的源代码包(通常是
-sources.jar),并将其关联到项目中。
对于 Gradle 项目:
- 确保你的
build.gradle文件中包含了依赖项。 - 在 Eclipse 中,右键点击项目,选择
Gradle->Refresh Gradle Project。 - Gradle 的 Eclipse 插件通常会自动配置源代码链接,你可以在项目的
.classpath文件中看到类似<attributes><attribute name="source_path" value="..."/></attributes>的配置。
优点:这种方式非常方便,能自动管理所有第三方库的源码,并且能确保源码版本与依赖版本完全匹配。
使用 Eclipse Marketplace 插件
有一些插件可以增强源码浏览体验,
- Java Decompiler Plugin (Eclipse JD):不仅能查看源码,还能反编译查看没有提供源码的
.class文件,让你看到字节码对应的 Java 代码。 - Sourceclipse:一个专门用于连接 Subversion (SVN) 仓库并查看源码的插件,虽然现在 Git 更流行,但如果你在使用 SVN,它很有用。
| 目标 | 推荐方法 | 优点 | 缺点 |
|---|---|---|---|
| 阅读 Eclipse 平台源码 | 从 Eclipse Git 仓库克隆 | 最新代码,版本控制,社区支持 | 需要熟悉 Git 和 OSGi |
| 查看 JDK 标准库源码 | 关联 JDK 的 src.zip |
最直接,不依赖构建工具 | 需要手动配置,JDK 版本需匹配 |
| 查看第三方库源码 | 使用 Maven/Gradle 自动下载 | 自动化,版本匹配,方便 | 需要项目使用 Maven/Gradle |
| 反编译查看无源码的类 | 安装 Eclipse JD 插件 | 功能强大,弥补源码缺失 | 反编译结果可能不完全准确 |
希望这份详细的指南能帮助你顺利地在 Eclipse 中找到和使用所需的 Java 源代码!
