OpenJDK13 代码编译调试
环境: ubuntu18.04 + clion
一, 编译
1. 下载openjdk13源码
2. 安装编译需要的环境依赖
apt-get install libfreetype6-dev libcups2-dev libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev libasound2-dev libffi-dev autoconf gcc clang libfontconfig1-dev
3. 安装jdk12或者jdk13, 这个在文档里面称为 Boot JDK,就是编译时需要上一个版本的 JDK 做为基础,一般是使用 N-1 版本,比如编译 OpenJDK8 就使用 JDK7 作为 Boot JDK,这里使用jdk13来做bootjdk
add-apt-repository ppa:openjdk-r/ppa
apt-get update
apt-get install openjdk-13-jdk
4. 检查配置
bash configure
如果执行过程中有异常,就根据异常和提示信息,安装所缺的依赖
5. 开始编译
make images
6. 编译完成后验证是否可用
./build/*/images/jdk/bin/java -version
二, 调试jvm
1. 选择 New CMake Project from Sources, 打开我们下载 OpenJDK13 的目录, 一路next等待导入完成
2. 启动配置项:
1) target和excutable配置见下图
2) Build需要删除掉
3) 使用javac命令编译Test.java成Test.class
4) 编写 META-INF/MANIFEST.MF文件确定程序执行入口
// file META-INF/MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.8.0_171 (Oracle Corporation)
Main-Class: Test
5) 将Test打成jar包
jar cvfm Test.jar META-INF/MANIFEST.MF Test.class
6) program aguments和working directory配置如下