前言:前面在分析初始版本 CC1 链的时候,查看 sun 包里的 AnnotationInvocationHandler 类的源码,发现变量名全都是 var 开头,非常不便于阅读,接下来将介绍如何使用 IDEA 查看带 sun 包的 JDK 源码,以及导入的依赖源码,这里的源码指的是 .java 文件。
IDEA 查看带 sun 包的 JDK 源码
ref:JAVA CC1分析
原始的 JDK 中的 src.zip 是没有 sun 包的,我们需要自己下载包含 sun 包的源码。
以 JDK8u65 版本为例,前往 openjdk 网站下载的链接为:http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/af660750b2f4
点击左侧的 zip 即可下载压缩包:

下载的压缩包名为 jdk-af660750b2f4.zip ,将其解压后,在 jdk-af660750b2f4\jdk-af660750b2f4\src\share\classes
路径下即可找到 sun 包:

在我们之前的 JDK 文件夹下有一个 src.zip 压缩包,将其解压后,将上面的 sun 包复制进来:

这时候就可以在 idea 中添加资源文件了。
打开 idea -> ProJect Structure -> SDKs 选择上方的 Classpath ,点击加号,将 src 路径导入进去:

添加完 Classpath 之后,还要添加 Sourcepath :

这样就算完成了。
这时就可以写个程序验证是否添加成功:

Ctrl + 鼠标左键进入源码:

可以发现此时进入的是 .java 文件而不再是 .class 文件了,说明添加成功。
IDEA 查看依赖包的 Java 源码
ref:idea 查看 Java 源码,而不是编译后的 class 文件
以 CC 依赖为例:
1 | <dependencies> |
首先打开设置,找到红框所示路径,勾选 Sources 和 Documentation :

点击 Apply 应用和 OK 退出。
接着打开右侧 Maven 图标,按照图示步骤 Download Sources :

到这一步就添加完成了。