Windows终端上输入java -version命令,结果为openJDK而非自己安装的JDK

本文讲述了在Windows PowerShell终端中遇到openJDK版本显示问题,通过理解两者区别并指导用户如何通过切换到cmd来解决此问题的方法。

问题

在Windows终端Windows终端上输入java -version命令,结果为openJDK;

图1

原因

  • 使用了PowerShell终端,该终端对于cmd而言可以理解为是其升级版或补充版。对于两者的异同,可自行查找资料

解决

  • 换成cmd即可。
    在这里插入图片描述
当执行 `java -version` 命令时,系统显示的是 OpenJDK 21 而不是 JDK 8,这通常是由于环境变量 `PATH` 的配置顺序导致的。操作系统会根据 `PATH` 中列出的目录顺序来查找可执行文件,包括 `java` 命令。如果 OpenJDK 21 的安装路径在 JDK 8 的路径之前,系统就会优先使用 OpenJDK 21 来执行命令[^1]。 具体来说,OpenJDK 21 安装后可能会自动将自身的路径(例如 `/usr/local/jdk21/bin`)添加到 `PATH` 环境变量中,并且在某些情况下,它的位置可能高于用户手动配置的 JDK 8 路径。类似地,在 Windows 系统中,OpenJDK 或 Oracle JDK安装程序可能会在 `PATH` 中插入一个指向新安装JDK 的路径,例如 `C:\Program Files\Common Files\Oracle\Java\javapath`,这会导致系统优先使用该路径下的 Java 可执行文件[^1]。 要解决这个问题,可以采取以下措施来调整环境变量的优先级: ### Windows 系统 1. 打开“系统属性” -> “高级系统设置” -> “环境变量”。 2. 在“系统变量”部分找到 `Path` 并点击“编辑”。 3. 将 JDK 8 的路径(例如 `%JAVA_HOME%\bin`)移动到 OpenJDK 21 的路径之前,以确保 JDK 8 的 `java` 命令优先被使用。 4. 点击“确定”保存更改,并重新打开命令行窗口以使更改生效。 ### Linux/macOS 系统 1. 编辑环境变量配置文件,例如 `/etc/profile` 或 `~/.bashrc`、`~/.zshrc`,具体取决于使用的 Shell。 2. 确保 JDK 8 的 `JAVA_HOME` 和 `PATH` 配置位于 OpenJDK 21 的配置之前: ```bash export JAVA_HOME=/usr/lib/jvm/jdk1.8.0 export PATH=$JAVA_HOME/bin:$PATH ``` 3. 保存文件并运行 `source /etc/profile` 或 `source ~/.bashrc`(或 `source ~/.zshrc`)以应用更改。 ### 验证 完成上述步骤后,在终端命令行中运行 `java -version`,确认输出的信息是否为 JDK 8 的版本信息。如果是,则表示环境变量配置已成功调整[^1]。 --- ```bash # 示例:验证 Java 版本 java -version ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值