java -versionbash:/usr/lib/jvm/jdk1.8.0_162/bin/java:无法执行二进制文件:可执行文件格式错误

实验环境:Apple M1在VMwareFusion使用Utubun

Jdk文件错误

尝试:

1、重新在网盘下载java1.8

2、在终端通过命令下载

3、确保 JDK 正确安装在系统中,可以通过 echo $JAVA_HOME 检查 JAVA_HOME 环境变量是否设置正确。

4、检查文件权限:确保当前用户有执行/usr/lib/jvm/jdk1.8.0_162/bin/java文件的权限。可以使用ls -l /usr/lib/jvm/jdk1.8.0_162/bin/java查看权限,并使用chmod命令修改权限:

sudo chmod +x /usr/lib/jvm/jdk1.8.0_162/bin/java

5、检查环境变量:确保你的PATH环境变量包含了JDK的bin目录。可以通过echo $PATH检查,并通过修改~/.bashrc或~/.bash_profile文件来添加或修改PATH变量。

6、使用file命令检查文件类型:运行file /usr/lib/jvm/jdk1.8.0_162/bin/java来确认文件是否为有效的可执行文件。

最后原因分析:

Maybe1.有两个jdk导致冲突

Maybe2.因为jdk1.8.0_164不能使用

最后的解决办法:

删除jdk.1.8.0_164,只使用java-1.8.0-openjdk-arm64

相关推荐
心之伊始6 分钟前
LangChain4j RAG 实战:Java 后端如何把本地文档接入 Embedding 检索链路
java·架构·源码分析·csdn
~小先生~7 分钟前
Python从入门到放弃(一)
开发语言·python
许彰午37 分钟前
17_synchronized关键字深度解析
java·开发语言
z落落42 分钟前
C# 泛型接口和泛型类+泛型约束
开发语言·c#
阿正的梦工坊1 小时前
【Rust】02-变量、不可变性与基础类型
开发语言·后端·rust
阿正的梦工坊1 小时前
【Rust】08-集合类型、字符串与迭代器入门
开发语言·rust·c#
FuckPatience1 小时前
C# 使用泛型协变将派生类类型替换为基类类型
开发语言·c#
张忠琳1 小时前
【Go 1.26.4】(Part 1) Go 1.26.4 超深度源码分析 — 总体架构与模块全景
开发语言·golang
guygg881 小时前
C# 生成中间带 Logo 头像的二维码
开发语言·c#
闪电悠米1 小时前
黑马点评-Redis 消息队列-03_stream_consumer_group
开发语言·数据库·redis·分布式·缓存·junit·lua