前言
Eclipse OpenJ9:OpenJDK 的一个 Java 虚拟机,为小尺寸、快速启动和高吞吐量而优化。构建在 Eclipse OMR 上,并与 OpenJDK Extensions for OpenJ9 repo 相结合。
系统需求
Linux(CentOS 6/7, Ubuntu 16.04/18.04/20.04)
构建环境
不使用 Docker 构建环境
*使用 Docker 看下面
适合国内环境,只需要能够连接到 GitHub 🙂
1.下载 Docker 构建脚本
wget https://raw.githubusercontent.com/eclipse-openj9/openj9/master/buildenv/docker/mkdocker.sh
2.使用以下命令获取不同版本所需的依赖 (以 Ubuntu 18.04 为例)
bash mkdocker.sh --tag=openj9 --dist=ubuntu --version=18 --gitcache=no --jdk=8 --print
3.安装 mkdocker.sh
打印出来的依赖
apt-get update \
&& apt-get install -qq -y --no-install-recommends \
...
4.设置使用 g++-7 和 gcc-7 软件包
export CC=gcc-7 CXX=g++-7
*构建时使用以下参数 --with-cmake=no
,需要下载并配置 freemarker.jar
wget https://sourceforge.net/projects/freemarker/files/freemarker/2.3.8/freemarker-2.3.8.tar.gz/download -O freemarker.tgz
tar -xzf freemarker.tgz freemarker-2.3.8/lib/freemarker.jar --strip-components=2
rm -f freemarker.tgz
5.使用最新的 AdoptOpenJDK v8 build 下载并设置启动 JDK
wget -O bootjdk8.tar.gz "https://api.adoptopenjdk.net/v3/binary/latest/8/ga/linux/x64/jdk/openj9/normal/adoptopenjdk"
tar -xzf bootjdk8.tar.gz
rm -f bootjdk8.tar.gz
mv $(ls | grep -i jdk8) bootjdk8
使用 Docker 构建环境
Docker 安装参考:
1.下载 Docker 构建脚本
wget https://raw.githubusercontent.com/eclipse-openj9/openj9/master/buildenv/docker/mkdocker.sh
2.使用以下命令构建 Docker Image
bash mkdocker.sh --tag=openj9 --dist=ubuntu --version=18 --gitcache=no --jdk=8 --build
3.用以下命令从 openj9 Image 中启动一个 Docker 容器,其中 -v 将你本地系统上的任何目录映射到容器的 /root/hostdir 目录中,这样就可以在二进制文件构建完成后,将其存储起来。
docker run -v <host_directory>:/root/hostdir -it openj9
获取源码
git clone https://github.com/ibmruntimes/openj9-openjdk-jdk8.git
cd openj9-openjdk-jdk8
bash get_source.sh
配置
运行 configure 脚本,检测当前构建环境。
bash configure --with-boot-jdk=/home/jenkins/bootjdks/jdk8
*–with-boot-jdk= 选项中的路径默认是使用 Docker 安装的。如果不使用Docker环境,请设置适合你的路径,例如 “<我的路径>/bootjdk8″,如前面说明中的设置。
构建
make all
产生两个Java构建:一个完整的开发者工具包(jdk)和一个运行时环境(jre)
- build/linux-x86_64-normal-server-release/images/j2sdk-image
- build/linux-x86_64-normal-server-release/images/j2re-image
测试
build/linux-x86_64-normal-server-release/images/j2re-image/bin/java -version
命令行输出(OpenJDK 17 样本)
openjdk version "17.0.5-internal" 2022-10-18
OpenJDK Runtime Environment (build 17.0.5-internal+0-adhoc..openj9-openjdk-jdk17)
Eclipse OpenJ9 VM (build master-e94beed58, JRE 17 Linux amd64-64-Bit Compressed References 20220808_000000 (JIT enabled, AOT enabled)
OpenJ9 - e94beed58
OMR - f764fb1b1
JCL - d0975f56b15 based on jdk-17.0.5+1)
构建成功 🎉
*更多详细配置或操作请参考以下文档
参考文档
openj9/Build_Instructions_V8.md at master · eclipse-openj9/openj9
发表评论须遵守中华人民共和国相关法律法规。违规评论将会被删除。
Comments must subject to the relevant laws and regulations of the People’s Republic of China. Offending comments will be deleted.