如何本地编译 openjdk 13

一、 Mac虚拟机编译前准备,下载所需资源

a) 因为虚拟机的大部分代码是由Java编写的,所以编译openjdk13需要默认安装一个jdk,所以需要先安装jdk12,安装包下载链接如下:

官方链接:可以使用迅雷下载,下载过程中可能出现速率降为0,暂停后重新开始即可

https://github.com/AdoptOpenJDK/openjdk12-binaries/releases/download/jdk-12.0.2%2B10.2/OpenJDK12U-jdk_x64_mac_hotspot_12.0.2_10.pkg

腾讯微云:链接: https://share.weiyun.com/5DlfG12

百度网盘: 链接: https://pan.baidu.com/s/1eZ1j10YM-tDU4vqvSYSkiQ  提取码:5dx1

b) 下载openjdk13源码

方法一:用官网使用的版本控制工具Mercurial下载

下载Mercurial

官网下载:https://www.mercurial-scm.org/wiki

腾讯微云:链接:https://share.weiyun.com/54BT6jM

百度网盘:链接:https://pan.baidu.com/s/1HmhekImBmo1WCusj3pbcmA  提取码:cfza

双击下载下来的Mercurial-5.2-macosx10.14.pkg文件安装后,命令行运行下列命令拉取openjdk13源码

> hg clone http://hg.openjdk.java.net/jdk/jdk13/

网络好的话,等待20分钟就好了

方法二:直接从网上下载zip压缩包

腾讯微云:链接:https://share.weiyun.com/59GESWa

百度网盘:链接:https://pan.baidu.com/s/1sLT9Ge_X27UUGV_OI-Avsg  密码:wydp

 

二、开始编译jdk13

进入jdk13根目录

> cd /jdk13

> bash configure

这步是检查配置信息,会生成一个configure.log文件,可以根据命令行或者生成的configure.log文件定位问题信息,

比如最开始会报

No xcodebuild tool and no system framework headers found, use --with-sysroot or --with-sdk-name to provide a path to a valid SDK

原因是没有找到xcodebuild工具,

如果没有安装xcode,建议先安装xcode,默认安装xcode后,运行以下命令解决该问题

> sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/

再次运行,

> bash configure

还会报同样的错误,这次会有一个新的错误提示,大意是接受Xcode/iOS许可需要管理员权限

Agreeing to the Xcode/iOS license requires admin privileges, please run “sudo xcodebuild -license” and then retry this command.

configure: error: Unable to determine SYSROOT and no headers found in /System/Library/Frameworks. Check Xcode configuration, --with-sysroot or --with-sdk-name arguments.

根据提示,运行以下命令

> sudo xcodebuild -license

根据提示,按下回车键查看协议许可的内容,按空格键翻页到许可的最后,根据提示键入agree,回车,即表示同意了协议许可

Hit the Enter key to view the license agreements at '/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

再次运行

> bash configure

这次不出意外会出现以下内容,表示检查配置成功,下边还会有一些配置的总结(Configuration summary),比如debug级别

====================================================

A new configuration has been successfully created in

/Users/vimin/Experts/JVM/jdk13/build/macosx-x86_64-server-release

using default settings.

编译之前可以进行一些环境变量的设置,比如:

语言选项

> export LANG=C

开始编译jdk

> make all

等待结果输出Finished,表示编译成功

Finished building target 'all' in configuration 'macosx-x86_64-server-release'

三、验证编译结果

> cd jdk13/build/macosx-x86_64-server-release/jdk/bin/

> ./java -version

出现以下结果表示成功

openjdk version "13-internal" 2019-09-17

OpenJDK Runtime Environment (build 13-internal+0-adhoc.vimin.jdk13)

OpenJDK 64-Bit Server VM (build 13-internal+0-adhoc.vimin.jdk13, mixed mode)

将该jdk13/build/macosx-x86_64-server-release/jdk添加至JAVA_HOME即可作为默认的jdk使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值