
背景
每个版本的 jdk 的安装包中都有一个 src.zip 可以导入到 IDE 中关联源代码,开发的时候也便于查看源代码,但是 src.zip 中的源代码并不是rt.jar的全部内容,尝试通过其他途径获取不在此包的源码。
现有源码
通过 IDE可以方便的额看到,rt.jar中的结构如下:

然而 src.zip 中结构大概为:
.
├── com
├── java
├── javax
├── launcher
└── org
对比可以看到,apple,jdk,sun 这几个包的的源码都不在其中,但是日常工作中有一些代码又需要查看,或许应该想起了 openjdk, 这几个包中的代码在openjdk基本都可以找到,我们把openjdk代码下载下来,然后关联到IDE, 岂不是爽歪歪,不用为看不到源码而伤心啦.
获取 openjdk
获取openjdk 的方法很多,比如可以直接下载源码包,也可以通过一些版本管理工具获得.本文以jdk8举例.
- 获取官方源码 通过
hg获取源码 - 通过
github获取,为了方便用户,github上面有一些同步了官方库到github仓库的,比如 github.com/unofficial-…(项目接近2G, 下载时间较长)
git checkout jdk8u/jdk8u
IDE 和源码关联
以 idea 为例: 点击右上角的项目结构


加入目录jdk/src/share/classes

