BiSheng JDK构建工具:华为毕昇JDK自动化构建与测试完整指南
BiSheng JDK构建工具:华为毕昇JDK自动化构建与测试完整指南
【免费下载链接】bishengjdk-buildBiSheng JDK build and test scripts - common across all releases/versions项目地址: https://gitcode.com/openeuler/bishengjdk-build
前往项目官网免费下载:https://ar.openeuler.org/ar/
BiSheng JDK构建工具(bishengjdk-build)是openEuler社区提供的毕昇JDK自动化构建与测试脚本集合,支持Linux aarch64和X64架构的多版本JDK二进制包构建,帮助开发者快速部署高性能的华为毕昇JDK环境。
📋 核心功能与优势
bishengjdk-build工具链为毕昇JDK的构建流程提供全自动化支持,主要特性包括:
- 多版本支持:兼容JDK8、JDK11、JDK17、JDK21及JDK25等主流版本
- 跨架构构建:同时支持aarch64(ARM)和x86_64(X86)硬件架构
- 自动化测试:集成jtreg测试框架,提供完整的功能验证流程
- 一键式操作:通过简单命令即可完成从环境准备到包生成的全流程
核心脚本位于项目的sbin/目录,包括构建主程序sbin/buildjdk.sh、环境准备脚本sbin/prepare.sh和测试脚本sbin/testjdk.sh,形成完整的构建流水线。
🔧 环境准备与依赖安装
系统要求
- 操作系统:Linux(推荐openEuler或CentOS)
- 架构支持:aarch64或x86_64
- 基础依赖:需要预先安装的核心工具包括:
- autoconf、gcc-c++等编译工具
- libXtst-devel、libXt-devel等图形依赖库
- cups-devel、freetype-devel等系统组件
- unzip、fontconfig-devel等辅助工具
快速环境配置
工具提供自动依赖安装功能,通过以下命令可一键部署构建环境:
# 进入项目目录 cd bishengjdk-build # 执行环境准备脚本(CI模式会自动安装依赖) bash sbin/prepare.sh --build-type ci对于JDK17及以上版本,工具会自动从华为云镜像下载匹配架构的Boot JDK;JDK21和JDK25版本则直接使用项目预存的bootjdk/目录下的二进制包,如bootjdk/jdk21/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.1_12.tar.gz。
🚀 快速开始:构建你的第一个毕昇JDK
1. 获取源码
首先克隆项目仓库到本地:
mkdir -p /home/bishengjdk/ cd /home/bishengjdk/ git clone https://gitcode.com/openeuler/bishengjdk-build.git2. 准备Boot JDK
以JDK8构建为例,手动下载并配置Boot JDK:
# 创建Boot JDK目录 mkdir bootjdk_dir # 下载并解压Boot JDK(以OpenJDK8u392为例) wget https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u392-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u392b08.tar.gz mv OpenJDK8U-jdk_x64_linux_hotspot_8u392b08.tar.gz bootjdk_dir/ cd bootjdk_dir tar -xf OpenJDK8U-jdk_x64_linux_hotspot_8u392b08.tar.gz3. 创建构建脚本
在Boot JDK目录同级创建run.sh脚本,配置构建参数:
# 设置Boot JDK路径 boot_jdk8=/home/bishengjdk/bootjdk_dir/jdk8u392-b08 # 循环构建JDK8版本 for i in jdk8 do rm -rf bishengjdk-build git clone https://gitcode.com/openeuler/bishengjdk-build.git cd bishengjdk-build # 执行构建命令 jdk_name=boot_${i} bash build.sh --build-type release --build-variant "$i" --boot-jdk-dir "${!jdk_name}" --create-jre-image --build-number 13 # 移动构建结果 cd .. rm -rf results/${i} mkdir -p results/${i} mv bishengjdk-build/output/* results/${i}/ done4. 执行构建
运行脚本开始构建过程:
bash run.sh构建过程会自动完成配置检查、编译、调试符号处理和归档等步骤。构建日志会保存在output/configure.log中,便于问题排查。
5. 获取构建结果
构建完成后,产物会保存在results目录下:
cd results # 列出构建的JDK包 ls -l产物包括JDK二进制包、JRE镜像以及对应的调试信息文件,文件命名格式如bisheng-jdk-8.0.392.tar.gz。
⚙️ 高级配置选项
构建参数说明
sbin/buildjdk.sh支持多种自定义参数,常用选项包括:
--build-type:构建类型(release/debug/ci)--build-variant:JDK版本(jdk8/jdk11/jdk17等)--boot-jdk-dir:Boot JDK路径--create-jre-image:是否生成JRE镜像--build-number:构建编号
完整参数列表可通过bash build.sh --help查看。
架构特定配置
项目在sbin/common/目录下提供了各版本各架构的常量定义文件,如:
sbin/common/constants_jdk21_aarch64.sh:JDK21 aarch64架构配置sbin/common/constants_jdk25_x86_64.sh:JDK25 x86_64架构配置
这些文件定义了不同版本JDK在特定架构上的编译参数、目录结构和依赖关系,确保构建过程的兼容性和优化。
🧪 测试与验证
自动化测试流程
bishengjdk-build集成了jtreg测试框架,提供全面的JDK功能验证。测试工具位于tools/目录,如tools/jtreg-7.5.2+1.tar.gz(JDK25适用版本)。
执行测试的命令如下:
# 在项目根目录执行测试脚本 bash sbin/testjdk.sh --build-variant jdk25 --jdk-path /path/to/build/jdk测试结果分析
测试结果会生成详细的HTML报告,包含用例执行情况、通过率和失败详情,帮助开发者快速定位问题。测试日志保存在test-results/目录下。
📁 项目结构解析
bishengjdk-build采用模块化设计,主要目录结构如下:
bishengjdk-build/ ├── bootjdk/ # 预存的Boot JDK二进制包 ├── sbin/ # 核心脚本目录 │ ├── common/ # 通用常量和函数 │ ├── buildjdk.sh # 构建主程序 │ ├── prepare.sh # 环境准备脚本 │ └── testjdk.sh # 测试脚本 ├── tools/ # 测试工具jtreg └── output/ # 构建产物输出目录核心构建逻辑在sbin/buildjdk.sh中实现,包括配置参数生成(ConfigureArgs函数)、编译执行(MakeTargets函数)、产物处理(RemovingDebugFiles和CreateArchive函数)等关键步骤。
🤝 参与贡献
bishengjdk-build欢迎社区贡献,贡献流程如下:
- Fork本仓库
- 新建Feat_xxx分支开发功能
- 提交代码并创建Pull Request
- 通过代码审核后合并
详细贡献指南可参考项目根目录的README.md文件。
📚 资源与文档
- 官方文档:项目根目录
README.md - 配置示例:
sbin/common/目录下的常量定义文件 - 构建脚本:
sbin/buildjdk.sh和sbin/prepare.sh提供完整的构建逻辑实现
通过bishengjdk-build工具,开发者可以轻松构建和定制华为毕昇JDK,充分利用其在性能优化和云原生环境下的优势。无论是企业级部署还是个人开发,这套工具链都能提供可靠、高效的JDK构建解决方案。
【免费下载链接】bishengjdk-buildBiSheng JDK build and test scripts - common across all releases/versions项目地址: https://gitcode.com/openeuler/bishengjdk-build
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
