github openjdk倒是有源码。但是下载的zip里没有打包好的src。
安装后的src.zip里没有 rt.jar里的,比如 sun.reflect.annotation.AnnotationInvocationHandler
一般怎么下载jdk完整的源码?
maven行么?
github openjdk倒是有源码。但是下载的zip里没有打包好的src。
安装后的src.zip里没有 rt.jar里的,比如 sun.reflect.annotation.AnnotationInvocationHandler
一般怎么下载jdk完整的源码?
maven行么?
推荐方法:
官方 OpenJDK 源码仓库
JDK8 的完整源码(含内部类)需要通过 OpenJDK Mercurial 仓库获取:
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/
cd jdk
sh get_source.sh
或使用 GitHub 镜像:
git clone https://github.com/openjdk/jdk8u
cd jdk8u
git checkout jdk8u292-b04 # 选择具体版本标签
sun.reflect.annotation.AnnotationInvocationHandler
的源码路径为: jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java
sun.*
包)不会通过 Maven 分发,它们是 JDK 实现代码而非公共 API。注意事项:
src.zip
仅包含公共 API 的源码(如 java.*
, javax.*
),内部类需从完整仓库获取sun.*
包(非公开 API,不同 JDK 实现可能不兼容)官方源码树路径参考:https://github.com/openjdk/jd...
8 回答6.8k 阅读
4 回答1k 阅读✓ 已解决
4 回答626 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答656 阅读✓ 已解决
2 回答1.2k 阅读
我刚查了下,Oracle JDK和OpenJDK在Java 8及之前版本中包含rt.jar,位于JRE的lib目录下。但Java 9引入了模块化系统(JPMS),取代了原有的rt.jar,将其拆分为多个jmod文件。因此,从Java 9开始,rt.jar不再存在。你到官网,下载8以及8以前的版本就有这个包。你可以进入的你的idea,你想查看哪里的源码,就按住ctrl键双击,就会跳转到这个源码这里。
