1、安装依赖和必要工具
- Arch Linux/Manjaro 等
sudo pacman -Syu --needed base-devel wget tar unzip zip alsa-lib cups libx11 libxtst libxt libxrandr
- Debian/Ubuntu 等
sudo apt update && sudo apt upgrade -y && sudo apt -y install build-essential wget autoconf file unzip zip libasound2-dev libcups2-dev libfontconfig1-dev libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev tar
- CentOS/Rocky Linux 等
sudo yum update && sudo yum upgrade -y && sudo yum -y group install "Development Tools" && sudo yum -y install wget unzip zip tar alsa-lib-devel cups-devel fontconfig-devel libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel
2、boot-jdk
建议 boot-jdk 比编译安装的 JDK 低一到两个版本。
url="https://download.java.net/java/GA/jdk23.0.1/c28985cbf10d4e648e4004050f8781aa/11/GPL/openjdk-23.0.1_linux-x64_bin.tar.gz" && \
wget "$url" && \
tar -xvzf "${url##*/}" && \
mv $(tar -tzf "${url##*/}" | head -1 | cut -f1 -d"/") boot-jdk
3、下载 JDK 源码、解压并进入解压后的目录
url="https://github.com/openjdk/jdk/archive/refs/tags/jdk-24+20.tar.gz" && \
wget "$url" && \
tar -xvzf "${url##*/}" && \
cd $(tar -tzf "${url##*/}" | head -1 | cut -f1 -d"/")
4、配置
bash configure --with-boot-jdk=../boot-jdk/
5、编译
time make JOBS=$(nproc) images
6、将编译好的二进制文件复制到 /opt/
sudo cp -r build/linux-x86_64-server-release/images/jdk/ /opt/$(basename "$PWD")
7、配置 Path 环境变量
echo "export PATH=\$PATH:/opt/$(basename "$PWD")/bin" >> ~/.bashrc && source ~/.bashrc