BiSheng JDK构建工具:华为毕昇JDK自动化构建与测试完整指南
2026/7/15 17:28:06 网站建设 项目流程

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.git

2. 准备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.gz

3. 创建构建脚本

在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}/ done

4. 执行构建

运行脚本开始构建过程:

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欢迎社区贡献,贡献流程如下:

  1. Fork本仓库
  2. 新建Feat_xxx分支开发功能
  3. 提交代码并创建Pull Request
  4. 通过代码审核后合并

详细贡献指南可参考项目根目录的README.md文件。

📚 资源与文档

  • 官方文档:项目根目录README.md
  • 配置示例sbin/common/目录下的常量定义文件
  • 构建脚本sbin/buildjdk.shsbin/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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询