JDK(Java Development Kit)是 Java 平台编程中使用的软件开发环境。它包含一个完整的 Java 运行时环境,即所谓的私有运行时。该名称来自于它包含的工具多于独立的 JRE 以及开发 Java 应用程序所需的其他组件。常见的有 OpenJDK 和 Oracle JDK
OracleJDK 根据 Oracle 二进制代码许可协议获得许可,而 OpenJDK 具有 GNU 通用公共许可证(GNU GPL)版本2。
使用 Oracle 平台时会产生一些许可影响。如 Oracle 宣布的那样,在没有商业许可的情况下,在2019年1月之后发布的 Oracle Java SE 8 的公开更新将无法用于商业,商业或生产用途。但是,OpenJDK 是完全开源的,可以自由使用。
因此,大多数 Linux 发行版软件源中采用 OpenJDK,而国内开发者在开发 Java 项目时,多数采用了OracleJDK,通常情况下两者并没有太大差异,但在少数时候程序运行时可能遇到异常。
麒麟V10 操作系统默认安装了 OpenJDK 1.8 版本,本文主要介绍在OracleJDK 环境下开发的程序在麒麟V10上运行遇到错误时,可以尝试更换OpenJDK 为 Oracle JDK(已遇到一个实例:通过东方通中间件部署的某个 Java 应用在 OpenJDK 环境下运行异常,更换为 Oracle JDK 后能够正常运行。)
当然,因为商业许可等原因,这种临时替换不建议用于生产环境,而是通过比较应用在两者上的运行异同,最终适配到默认的 OpenJDK 上来。
下载 OracleJDK 1.8
官方下载页面:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
选择 aarch64 版本的 rpm 包下载(也可以选择压缩包格式,但需要自己配置环境变量等)
jdk-8u281-linux-aarch64.rpm
验证环境:
使用cat /etc/kylin-release
和uname -a
查看操作系统信息
注意,麒麟V10 操作系统默认同时安装了 OpenJDK 和 OpenJDK 11 两个版本,均进行卸载
yum list installed |grep jdk java -version
yum remove java-1.8.0-openjdk.aarch64 yum remove java-1.8.0-openjdk-headless.aarch64 yum remove java-11-openjdk-1:11.0.6.10-4.ky10.ky10.aarch64 yum remove java-11-openjdk-headless-1:11.0.6.10-4.ky10.ky10.aarch64
rpm -i jdk-8u281-linux-aarch64.rpm
java -version
可以看到,OracleJDK 已经安装成功(原有的 openjdk 标识消失)