openjdk编译
使用linux编译jdk源码!!
CentOS7 编译 OpenJDK
前述 :
最开始是想编译JDK8的,但是无奈折腾了一下午都没有找见门路。决定曲线救国,先编译JDK12.
果然越新的JDK越容易构建,终于成功的编译。
步骤:
编译JDK12,需要如下准备:
准备openjdk12的压缩文件,解压
a) 官方网址 下载 jdk 12
b) 完成后XFTP丢入虚拟机,这里放在了
/usr/openjdk12
下c) 解压文件:
tar -zxvf xxx.tar.gz
或者unzip xxx.zip
d) 在DOC目录下,会有
Building.html
文件,这里有详细的配置需求,可以参考。准备jdk10或者jdk11,并且配置环境变量
a) 亲爱的甲骨文公司下载jdk10或者11,这里使用了jdk11,解压到一个地方,这里解压到了
/usr/local/java/
目录下b) 配置
/etc/profiles
c) 在最底下加两行
1
2export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME=/usr/local/install/jdk-11d) 更新配置
source /etc/profile
e) 用
java -version
检查一下,是不是11(不是11,试着检查配置是否正确,路径是否正确,再更新一下)配置
打开openjdk下的doc目录,会发现有一个 building.html 文件,这个文件中的 Build jdk requirements,要用yum装了这里所有的配置:
1 | sudo yum install autoconf |
还有其他的一些配置,在下一步的时候会报错,提示安装。
执行配置:
1 | bash configure --with-debug-level=slowdebug --with-boot-jdk=[这里放引导jdk的路径] --disable-warnings-as-errors —with-version-string=12-internal+0-wenhaodong |
重要配置参数详细设置:可以使用bash configure --help
查看
1 | --with-version-string=<string> - Specify the version string this build will be identified with. |
显示类似这样,就成功了!!
- 编译
终于到了这一步,别紧张,先去看看虚拟机处理器和内存数,别太低,太低会很慢,会让你感觉是卡了,真的很难受,这里配置了 2 处理器 4G内存
输入
1 | make images |
make的详细参数:
1 | make images # 构建jdk映像 |
然后去打水喝水,深呼吸祷告。
出现这样,就代表你成功了!!
成功!!
在build目录下中有一个jdk文件,那就是我们编译出来的文件。
自己编一个
.java
文件,用jdk/bin
下的命令编译、运行 最后成功了令人感动
成功!!激动。