【报错分析】Linux系统中JDK报错 -bash: ./java: cannot execute binary file: Exec format error

个人环境:

  • 云服务器厂商:华为云
  • 系统: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系统中JDK报错 -bash: ./java: cannot execute binary file: Exec format error_第1张图片
因为我这台 Linux 是租赁的华为云的云服务器资源,因此,我便开始想,是不是云化了系统之后,还有什么特殊的情况需要注意?

之后,我用 uname -a 命令查看了一下我的 Linux 系统
在这里插入图片描述
出现了一个至关重要的关键词:aarch64

还好我之前仔细看过 JDK 官网的各个安装包的环境和名称,一下就想到了一个安装包的名字,之后打开JDK8 的 DownLoad 页面一看
【报错分析】Linux系统中JDK报错 -bash: ./java: cannot execute binary file: Exec format error_第2张图片
原来这直接就是单独的一个版本了!

ARM LINUX 只是 LINUX 的一个分支,专门针对 ARM 架构设计的底层软件和底层驱动,看来是底层的指令集不同,直接又分出了一个安装版本。

之后,我们下载并解压这个安装包

在这里插入图片描述
成功
【报错分析】Linux系统中JDK报错 -bash: ./java: cannot execute binary file: Exec format error_第3张图片

你可能感兴趣的:(问题的产生与解决,Linux系统,jdk,linux,centos,java)