如何从源代码编译JDK?

sb2*_*b27 -1 java compilation

有没有办法从源代码编译 JDK?还有源码的官方下载吗?我想为我的智能手机编译它。

Nil*_*ils 5

这个问题是完全有效的。JDK 有多个存储库(森林),只有 JDK 存储库的代码形式无法构建完整的 JDK。此外,很难获得旧版本的来源。

请参考以下文档构建 OpenJDK。

https://hg.openjdk.java.net/jdk-updates/jdk9u/raw-file/tip/common/doc/building.html

以下是构建代码的主要步骤:

  1. 从根存储库下载代码。请检查链接以获取所有可用的存储库树。
  2. 运行位于根存储库中的 get_source.sh 脚本以获取其他需要的存储库
  3. 然后按照根存储库中 README 文件中提供的步骤进行操作

此外,如果有人想要预构建的二进制文件,那么它可以通过以下 URL 的 采用 jdk 项目获得。

https://adoptopenjdk.net/archive.html

更新:2021 年 2 月 5 日

作为Project Skara 的一部分,openJDK 源代码从 Mercurial 转移到 Git。请参考以下新指南来构建 JDK11+。

https://openjdk.java.net/groups/build/doc/building.html