背景
每个版本的 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
仓库的,比如 https://github.com/unofficial-openjdk/openjdk,获取到本地后切换到对应的分支(项目接近2G, 下载时间较长)
git checkout jdk8u/jdk8u
IDE 和源码关联
以 idea 为例:
打开后视图
加入目录jdk/src/share/classes
确认后,再去看源码,都能显示出来啦!
网友评论