首页/系统/信创系统运维速查/信创平台 JDK 选择与部署
迁移适配65 条

信创平台 JDK 选择与部署

Java 应用在信创平台需匹配架构的 JDK:aarch64 可选厂商适配 JDK 或发行版自带 OpenJDK;x86 平台选择面更广,选型以业务认证矩阵为准。

信创系统运维速查系统更新于 2026-10-13

信创平台 JDK 选择是做什么的

Java 应用在信创平台运行的前提是 JDK 与 CPU 架构匹配:aarch64 平台需要 aarch64 版本的 JDK,可选发行版自带的 OpenJDK 或厂商适配版本;x86 平台可选择面更广。选型的关键不是「版本越新越好」,而是与业务应用的兼容性清单对齐,部分行业应用对 JDK 厂商与大版本有明确认证要求,替换前必须核对,避免出现认证与兼容性风险。

基本信息

架构匹配aarch64、x86-64、LoongArch 需各自对应的 JDK 安装包
来源选择发行版仓库 OpenJDK 或厂商适配 JDK
查看现状java -version、readlink -f $(which java)
多版本管理update-alternatives --config java 或显式 JAVA_HOME
环境变量JAVA_HOME 与 PATH,注意在被托管服务中同样生效

典型使用场景

  • 业务系统从 x86 迁移到鲲鹏或飞腾平台,需要确认有对应架构的 JDK 可用
  • 同机存在多个 JDK,应用启动报类或加密相关异常,需要统一实际生效版本
  • 行业应用有指定 JDK 厂商与版本要求,选型要以该清单为准而非自行升级
  • systemd 托管的 Java 服务与登录会话的 java 版本不一致,导致行为差异
  • 排查加密算法或证书相关异常:JDK 大版本变化会改变默认算法与安全策略
  • 交付前统一终端 JDK 环境,避免每台机器手工配置产生差异

现状确认与切换

现状确认与切换
java -version 2>&1 | head -3           # 实际生效版本与厂商信息
readlink -f $(which java)              # 解析到真实安装目录
rpm -qa | grep -iE 'jdk|java' | head   # RPM 系已安装包
dpkg -l | grep -iE 'jdk|openjdk' | head   # deb 系已安装包
sudo update-alternatives --config java    # 多版本时选择默认
export JAVA_HOME=/usr/lib/jvm/<jdk 目录>  # 或显式指定
java -version                          # 验证切换结果
systemctl show app-web -p Environment  # 确认托管服务看到的环境变量

选型核对项

核对项为什么要看做法
架构架构不匹配直接无法启动uname -m 与安装包架构对照
JDK 大版本类库与 GC 行为差异影响业务按应用兼容性清单核对
厂商适配行业应用可能有认证要求以应用方提供的清单为准
运行模式服务端应使用 Server 模式相关参数确认生效的 JVM 选项
生效位置服务与登录会话可能不同版本在服务上下文中核对版本
被 systemd 托管的服务不会继承登录用户的环境变量,切换 JDK 时要在单元文件或 EnvironmentFile 中同步设置 JAVA_HOME,否则会出现「登录用户看到新版本、服务仍跑旧版本」的情况。
升级 JDK 大版本前必须跑业务回归:加密算法默认集、证书信任链与 GC 行为都可能变化,直接升级在生产环境属于高风险操作。

易错点

  • 多个 JDK 并存时靠 PATH 顺序碰运气,混用会造成难以定位的类加载与加密异常,应用 update-alternatives 或绝对路径统一
  • 只改登录用户的 JAVA_HOME 而忽略 systemd 单元环境,服务仍使用旧版本,排查方向被误导
  • 自行升级 JDK 大版本而未核对应用认证矩阵,可能出现兼容性或合规问题
  • 忽略架构差异,把 x86 的 JDK 目录直接拷到 aarch64 机器,必然无法运行

数据来源与参考

  • OpenJDK 官方文档
  • 各 JDK 厂商公开适配说明(公开资料)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌