写在前面
年初自己在windows上编译了openjdk8,花费了好几天才成功。前几个月换到mac上,所有的东西都不能用,感到很可惜,所以自己只能重新编译一次。
幸好mac上编译openjdk相对于windows方便很多。不需要安装那么多插件,建议大家在Mac可以直接按照doc/build.md里的指引进行操作即可,唯一需要注意的就是各个工具版本就好。
本机各项环境配置如下:
ps:如果想编译旧版本的openjdk,前几天尝试了下,会报 找不到#include
过程
1、安装git、brew、gun bash等基础组件,网上很多教程,忽略
2、安装Xcode,为了方便操作,虽说不需要xcode ide,但是很多lib都需要,所以直接去App Store下载xcode即可。
3、安装 Command Line Tools
在终端机里输入指令:
1 | xcode-select --install |
在终端机输入:
1 | xcode-select -p |
显示出: /Applications/Xcode.app/Contents/Developer
即是成功安装!
什么是Command Line Tools?
一种可以编译程序的软件。但我们不会直接使用它,你可以把它想成是电脑执行编程需要的软体工具跟套件之一就可以了。
4、xcodebuild检查和配置
在shell里输入xcodebuild看是否找不到路径等错误,如有此种错误需要进行xcodebuild路径确认,命令如下
1 | sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer |
5、安装其他必须的组件
1 | brew install mercurial |
6、下载源码
源码地址网上很多,大致分为官网、github、mercurial三种方式,国内访问可能会比较慢,可以直接去gitee下载其他热心群众上传好的即可
7、configure
下载好后就到openjdk的包含configure下执行命令
1 | bash configure --with-target-bits=64 --with-debug-level=slowdebug --disable-warnings-as-errors |
之所以没有加build.md上的加:–with-freetype。是因为加了后提示freetype error :system and bundle,所以索性去掉,就没问题了~最后没有提示error级别信息说明configure成功啦
8、make
终于到了最终的编译环节。可以使用如下命令进行make,方便查看日志
1 | make LOG=trace all |
我比较幸运,所有配置都没问题,过了20几分钟,编译成功!
9、测试
进入编译好的如下目录:/build/macosx-x86_64-server-slowdebug/jdk/bin进行测试~