OpenJDK8 源码编译 运行 调试

OpenJDK8 源码编译 运行 调试

感谢小童的对象在学习期间给予极大的帮助和鼓励,笔芯!

准备

  1. ubuntu 16.04
  2. OpenJDK7
  3. OpenJDK8 源码
  4. VM
  5. Clion
    编译参考OpenJDK8所下载的README-builds.html
    编译OpenJDK8需要提前有8以前的Java环境,所以下载了OpenJDK7。原文Building JDK 8 requires use of a version of JDK 7 that is at Update 7 or newer. JDK 8 developers should not use JDK 8 as the boot JDK, to ensure that JDK 8 dependencies are not introduced into the parts of the system that are built with JDK 7.

配置Ubuntu

  1. 下载VM https://my.vmware.com/cn/web/vmware/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0

  2. 安装VM

  3. 下载ubuntu https://releases.ubuntu.com/16.04.7/ubuntu-16.04.7-desktop-amd64.iso

  4. 创建ubuntu操作系统

  5. 更换ubuntu的源为阿里云的源
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 安装编辑软件
    sudo apt-get install vim

配置OpenJDK7

sudo vim /etc/profile
#打开文件后 添加以下语句
#OpenJDK7解压后的文件路径
export JAVA_HOME=/home/ubuntu/jdk7
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
#退出文件后 运行以下命令
source /etc/profile
#验证是否配置成功
java -version

在这里插入图片描述

安装 编译OpenJDK8 所需依赖

  1. 解压OpenJDK8源码
  2. 进入解压目录下
  3. 打开命令行
  4. 安装以下依赖
sudo apt install \
        libx11-dev \
        libxext-dev \
        libxrender-dev \
        libxtst-dev \
        libxt-dev \
        libcups2-dev \
        libfreetype6-dev \
        libasound2-dev \
        libfontconfig1-dev

5.检查并生成配置文件

# 此命令为编译jdk非debug模式
bash ./configure
# 若需要debug模式则需要执行以下命令
bash ./configure --with-target-bits=64 --with-debug-level=slowdebug --debug-configure
# 可查看help 查看相关参数
bash ./configure --help

并按照提示安装所需的依赖sudo apt-get install ccache 安装完后再检查一遍
在这里插入图片描述

扫描二维码关注公众号,回复: 12653118 查看本文章

编译OpenJDK8

  1. 检查语言
#输出语言,若不是C则改成C
echo $LANG
zh_CN.UTF-8
#修改命令:
export LANG=C
  1. 检查JAVA_HOME
#输出JAVA_HOME
echo $JAVA_HOME
#看下输出,如果有值则需要unset JAVA_HOME
unset JAVA_HOME
  1. 开始编译
sudo make CONF=linux-x86_64-normal-server-slowdebug

会出现以下问题
在这里插入图片描述
4. 问题解决方法

# hotspot/make/linux/Makefile 文件 SUPPORTED_OS_VERSION 后面添加4%
SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
# 重新编译
sudo make CONF=linux-x86_64-normal-server-slowdebug
  1. 编译成功

安装Clion

  1. 下载并解压安装包并进入bin文件夹
  2. 打开命令行
./clion.sh
  1. 根据提示安装
  2. 安装完毕

运行调试OpenJDK8项目

  1. 用Clion选择解压的文件打开项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 创建启动应用–编译阶段
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 在根目录下创建Test.java 并运行编译生成Test.class
    在这里插入图片描述
  2. 解压调试文件
# 进入/openjdk/build/linux-x86_64-normal-server-slowdebug/jdk/lib/amd64/server
sudo unzip libjvm.diz
  1. 可在编译阶段调试源码
    在这里插入图片描述

  2. 创建启动应用–运行阶段
    与编译阶段基本一致,以下是不同的地方
    在这里插入图片描述

  3. 运行阶段调试方式与编译阶段一致

大功告成!!

猜你喜欢

转载自blog.csdn.net/superice_/article/details/114272714