CentOS7编译调试OpenJDK12
2020-04-23 22:07:18 1424
1. 下载源码
https://hg.openjdk.java.net/jdk/jdk12
点击左侧的browse,再点击zip,就可以下载zip格式的源码压缩包。
unzip xxx.zip
解压文件
2. 安装jdk
yum install java-11-openjdk-devel -y
3. 运行configure
cd 进解压后的目录
bash configure
如果你用的是解压版的jdk并且没有使用包管理器安装openjdk11,那么就需要加上–with-boot-jdk参数,后面跟你解压后的jdk目录,比如 bash configure --with-boot-jdk=/root/jdk-11.0.2
如果碰到如下情况
只要按照红框处的提示,安装相关的依赖就行了
yum install autoconf -y
我遇到的几个
yum groupinstall "Development Tools" -y
yum install libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel -y
yum install cups-devel -y
yum install fontconfig-devel -y
yum install alsa-lib-devel -y
出现下图的信息就表示ok了,可以执行下一步了
4. 运行make
make images
编译时间看你机器的配置了,如果是虚拟机的话,根据官方文档,建议分配至少2G内存,cpu的话有多个核心就分配多个吧,硬盘看个人需求,只是用来编译openjdk的话20G就已经够用了
编译后的jdk在~/build/linux-x86_64-server-release/jdk/
验证一下 ./java -version
5. CLion中调试OpenJDK源码
https://www.jetbrains.com/clion/download/#section=linux
解压tar zxvf xxx.tar.gz
在openjdk源码目录下建立CMakeLists.txt文件 这里有个现成的 https://pan.baidu.com/s/1w4kVtj8oBWCzNY5pcXWwBQ
提取码:xg7t
打开CLion,点击New CMake Project From Sources
, 选中openjdk源码目录
在Run/Debug Configurations中增加一个CMake Appliaction
Executable选择的是刚刚生成的jdk~/jdk/bin/java
,运行参数-version
, 再把Before lunch
里面的Build
去掉,就可以调试了。
配置完成后HotSpot启动执行入口是java.c的JavaMain()方法,可以断点调试
CLion双击Shift可以查找文件