个人环境:
- 云服务器厂商:华为云
- 系统:Linux发行版之一 CentOS 8.0
今日在 Linux 安装 JDK,无论是 rpm 方式,还是 tar.gz 压缩包方式,都一直出问题,tar.gz 压缩包方式的安装,一直卡在 -bash: ./java: cannot execute binary file: Exec format error,我在网上看了很多博客,看来很多安装教程,但都说是机器和安装包出现32位和64位不兼容的问题,没有一个能解决我的问题,但是我非常确定,我的机器是64位,安装包也是64位,最终,我找到了问题所在。
事情是这样的。
最初,我看了不少教程后,开始着手安装,下载了 jdk-8u301-linux-x64.tar.gz 压缩包,之后解压后进行了如下操作:
从这里,问题开始展现出来,于是我开始在网上搜了半天,如前文所述,没一个能适用我这个问题。
因为我这台 Linux 是租赁的华为云的云服务器资源,因此,我便开始想,是不是云化了系统之后,还有什么特殊的情况需要注意?
之后,我用 uname -a 命令查看了一下我的 Linux 系统
出现了一个至关重要的关键词:aarch64
还好我之前仔细看过 JDK 官网的各个安装包的环境和名称,一下就想到了一个安装包的名字,之后打开JDK8 的 DownLoad 页面一看
原来这直接就是单独的一个版本了!
ARM LINUX 只是 LINUX 的一个分支,专门针对 ARM 架构设计的底层软件和底层驱动,看来是底层的指令集不同,直接又分出了一个安装版本。
之后,我们下载并解压这个安装包
成功