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.javasun.* 包)不会通过 Maven 分发,它们是 JDK 实现代码而非公共 API。注意事项:
src.zip 仅包含公共 API 的源码(如 java.*, javax.*),内部类需从完整仓库获取sun.* 包(非公开 API,不同 JDK 实现可能不兼容)官方源码树路径参考:https://github.com/openjdk/jd...
4 回答968 阅读
4 回答869 阅读
584 阅读
486 阅读
我刚查了下,Oracle JDK和OpenJDK在Java 8及之前版本中包含rt.jar,位于JRE的lib目录下。但Java 9引入了模块化系统(JPMS),取代了原有的rt.jar,将其拆分为多个jmod文件。因此,从Java 9开始,rt.jar不再存在。你到官网,下载8以及8以前的版本就有这个包。你可以进入的你的idea,你想查看哪里的源码,就按住ctrl键双击,就会跳转到这个源码这里。
