繁体   English   中英

无法在 Windows 中更改 Java 版本

[英]Unable to change Java Version in windows

以前我在我的机器上使用Java 1.8 但现在我需要使用Java 1.6 所以我在系统环境变量中更改了以下值。

JAVA_主页

U:\POC\jdk1.6.0_31

小路

U:\POC\jdk1.6.0_31\bin\%JAVA_HOME%/bin

我也重新启动了我的系统

即使在那之后它在我的命令提示符中显示 java 版本为 1.8。

命令提示符

谁能建议如何解决这个问题?

在系统中安装最新版本时,它会自动在环境变量中设置 javapath,如“C:\\ProgramData\\Oracle\\java\\javapath”。 从环境变量中删除它。 在此处输入图片说明

这个建议似乎很明显,但我敦促你仔细考虑这个建议。

我以前遇到过这个问题,而且经常是由于在构成 Windows 路径的一长串项目中忽略了一个条目。 它通常是一个路径条目,其中任何 java 可执行文件(javaw.exe、javaw.exe 或 javaws.exe)可能驻留都不是很明显。 一个常见的罪魁祸首是C:\\ProgramData\\Oracle\\Java\\javapath

因此,您需要向上推,您想要的java/bin路径高于这些。 如果有疑问,请将其推到顶部!

万一这不起作用,请尝试从 Java 管理控制台(控制面板 --> Java --> Java 选项卡 --> 查看按钮)内进行更改。

我很长时间没有使用 Windows,但我记得有 2 个环境变量部分。 一个系统范围,另一个用户范围。

  1. 检查系统范围内是否没有定义JAVA_HOME
  2. 就像@Stephen C 说的那样,发布echo %PATH%echo %JAVA_HOME%
  3. 检查可能包含java可执行文件的路径中%JAVA_HOME%/bin之前是否没有任何内容。 诸如 Oracle 客户端之类的东西随 Java 一起提供。 您始终可以将%JAVA_HOME%/bin放在路径前面而不是末尾。

@David Santiago 的回答是个坏主意。 如果让 IDE 来完成您的工作,您将无法在出现问题时进行故障排除。

系统显示系统上安装的最新版本。 这只是提供信息,您不必担心。

如果您打算使用 Java JDK 的 6.0_31 版本,您只需在您的 IDE(Eclipse、Netbeans、IntelliJ IDEA 等)中配置它,即可使用该版本进行编译。

例子

我最近遇到了这个问题,因为我添加了 JAVA 9、11 和 17 以及我之前的 JAVA 6 和 8 版本。
我错误地认为 env 变量没有随着新版本的变化而改变,但我显然错了。

When I ran java -version it returned JAVA 9 and javac -version returned JAVA 17. So, I incorrectly tried to add a %JAVA_HOME% variable, as I had always done in pre-JAVA 8 versions under the Windows Environment Settings. 然而,尽管把那个附加物移到了 PATH 的前面,它并没有改变任何东西!

这篇文章解释了这个问题: Java SE 8 Update 171 Uses Different Windows Path (Doc ID 2412304.1) ,但是它没有给出任何解决方案。

此 Windows 文件夹的路径是:

C:\ProgramData\Oracle\Java\javapath

注意位于 ProgramData 文件夹下,而不是 Program Files 下。 此外,它已在 Windows 环境设置下添加到 PATH 中。 这个文件夹是 java 设置了 3 个符号链接的位置,这些链接将覆盖您所做的 PATH 更改,并且确定它指向 JAVA 版本,我从 Z93F725A07423FE21C889F448B36 上的 -version 返回。 即使我尝试将 JAVA_HOME 设置为路径中的第一个条目,它仍然不起作用!

我在这里找到了两个解决方案:JDK 8 和 C:\ProgramData\Oracle\Java\javapath

如何更灵活地在 cmd 中切换 JDK 版本您可以将自己的目录添加到 PATH 以覆盖 Oracle 之一,或者按照约定将 Z9516DFB15F51C7EE19A4D46B8C0DBE1D 我更喜欢第二个,这里是如何做到的。

第二种解决方案使用两个批处理文件,其环境变量 JAVA_HOME 设置类似于我一直使用的设置。

在命令提示符下使用这些命令设置环境变量

JAVA_HOME=C:\Program Files\Java\jdk-11.0.17

设置 PATH=%JAVA_HOME%\bin;%PATH%

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM