当前位置: 首页 > news >正文

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.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),仅供参考

http://www.jsqmd.com/news/1195049/

相关文章:

  • 移远EC20 4G模块长短信(级联)收发实战:AT命令详解与中文编码避坑指南
  • 3个秘诀让你告别图标烦恼:MahApps.Metro.IconPacks完全实战指南
  • BlenderMCP:如何用AI助手彻底改变你的3D建模工作流
  • 【小程序计算机毕业设计案例】 基于 SpringBoot + 微信小程序的膳食营养科普服务系统 基于 SpringBoot的个性化食谱定制小程序的设计与实现(程序+文档+讲解+定制)
  • C#与OpenGL三维GIS开发:SharpGL与OpenTK选型实战指南
  • KUKA机器人奇异点:从原理到现场调试的实战解析
  • 猫抓浏览器扩展:网页媒体资源嗅探与智能下载解决方案
  • Exiled Exchange 2终极指南:3大核心技巧让流放之路2交易变得如此简单
  • 阳泉会议活动拍摄公司推荐|视频直播服务哪家好(2026政企影像深度评测) - 政企影像扫地僧
  • Jido区块链集成:智能合约与去中心化代理的终极指南
  • 跨平台Android投屏:QtScrcpy自动化构建系统设计与实践指南
  • 终极指南:5分钟掌握猫抓浏览器插件的全部秘密
  • 2026 西安厕所防水层漏水免砸砖维修公司 TOP4:厨卫渗漏专业修缮指南 专业防水公司排名推荐(2026年5月防水补漏最新TOP权威排名) - 冠盾建筑修缮
  • 从零开始:使用openEuler OpenStack SIG工具创建RPM软件仓的完整指南
  • TCL 65T7L Ultra电视深度评测:画质技术、接口配置与省钱攻略全解析
  • 3步搞定!国家中小学智慧教育平台PDF教材批量下载终极指南
  • 【2026 浙江面料成衣质检权威机构有哪些】行业实力推荐榜单|商家干货测评避坑全攻略 - 品牌测评网
  • Firefox 152.0.6发布:Smart Window功能升级,多项问题修复提升使用体验
  • 基于C++实现广州地铁线路查询
  • 上海静安区彩礼返还律所:静安区彩礼返还律所成功案例参考要点? - 品牌深度评测
  • 警惕AI领域虚构技术名词与过度优化陷阱
  • TensorFlow 2深度实践:从tf.function到SavedModel的工业级训练闭环
  • Sqoop数据导入实战:从MySQL到HDFS与Hive的完整指南
  • gh_mirrors/co/color社区活动指南:参与meetup与线上讨论
  • BlockBlock故障排除:常见问题诊断与解决方案大全
  • 计算机毕业设计之基于SpringBoot的智能医疗系统的设计与实现
  • 合肥蜀山经开区深耕二奢回收15年,劳力士上门回收流程、全套配件溢价要点解析 - 逸程奢侈品回收中心
  • 如何在3分钟内完成macOS Big Sur完整安装包的图形化下载:告别复杂命令的终极解决方案
  • 校服订购小程序商城制作流程 - 码云数智
  • 如何在Windows上无需模拟器直接运行安卓应用:APK Installer架构深度解析与实战指南