Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决

简介: 如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。

Java - jdk

jdk17 linux 版本压缩包
https://www.oracle.com/cn/java/technologies/downloads/#jdk17-linux

  1. 通过xftp将jdk17的压缩包传输到/tmp下
    在这里插入图片描述

  2. 执行解压缩命令到/usr/local中

tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local
  1. 将刚刚解压出来的jdk17的目录重新命名为java
mv /usr/local/jdk-17.0.9/ /usr/local/java
  1. 编写环境变量配置文件(等同于windows下的系统环境变量配置 path 里面新增jdk的位置)
vim /etc/profile

在这里插入图片描述

  1. 更新环境变量配置
source /etc/profile
  1. 验证java环境是否配置成功
java -version

在这里插入图片描述

可能会出现的问题

bash: /usr/local/java/bin/java: cannot execute binary file: exec format error

  1. 先查看当前的linux操作系统是32位还是64位(安装对应的jdk)
uname -m

在这里插入图片描述

(显示 i686 (or 有时候会是i386) 说明操作系统是32位的,但是如果显示的是 x86_64,那就说明这个操作系统是64位的。)

发现并不是操作系统的事情,那么就应该是装错了版本。

  1. 安装下图第三个

在这里插入图片描述

tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local

mv /usr/local/jdk-17.0.9/ /usr/local/java

vim /etc/profile

# shift + G 定位到末尾进行添加
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH

# 更新配置文件
source /etc/profile

# 再次查看环境变量
java -version

小结:配置环境变量,首先linux版本的jdk要仔细看一下,不然的话,配置完后使用Java-version会找不到对应的指令集。

相关文章
|
6月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
761 11
|
8月前
|
存储 监控 Linux
Linux环境锁定关键文件防止误删操作流程。
总结以上内容,在Linux环境下锁定重要文档避免误删涉及到多种技术手段与策略组合运作, 包括但不限于利用chatter指挥官固化文档状态至只读模式、运作ACL精准调整访问权利列表、编排自动化流程简
426 20
|
8月前
|
Linux
Linux环境下的UDEV机制及其与守护进程的关联
实际使用时管理员需要熟悉编写合适udev rules去满足特殊需求;同时也需要注意避免编写过度复杂导致无法预料结果rules.UDEVD虽然稳健但错误配置可能导致无法预料问题因此需谨慎处理相关配置工作.
319 16
|
10月前
|
Java 应用服务中间件 Linux
在Java 12环境中配置和部署Apache Tomcat的步骤。
这段部署Tomcat的冒险旅程充满技术挑战,但同时也像游戏一样充满乐趣。它需要你提前准备,仔细执行,并随时准备解决意外情况。成功后,你就可以在这匹强壮的网络野马上,带着你的Java应用,冲向Web开发的璀璨星空。
286 56
|
8月前
|
存储 Linux
Linux环境下删除大文件后磁盘空间未释放问题诊断流程。
以上诊断流程涉及Linux底层机制与高级管理技能结合之处,并需要管理员根据实际环境灵活调整诊断策略与解决方案。
606 8
|
9月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
1006 16
|
9月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
667 10
|
9月前
|
Java Shell Maven
【Azure Container App】构建Java应用镜像时候遇无法编译错误:ERROR [build 10/10] RUN ./mvnw.cmd dependency:go-offline -B -Dproduction package
在部署Java应用到Azure Container App时,构建镜像过程中出现错误:“./mvnw.cmd: No such file or directory”。尽管项目根目录包含mvnw和mvnw.cmd文件,但依然报错。问题出现在Dockerfile构建阶段执行`./mvnw dependency:go-offline`命令时,系统提示找不到可执行文件。经过排查,确认是mvnw文件内容异常所致。最终通过重新生成mvnw文件解决该问题,镜像成功构建。
495 1