[英]java version conflict on windows
我通常在我的计算机上使用 java 11 但后来我安装了 java 8 来运行两者。
现在,当我运行 java -version 时,它显示 java 8。我觉得这很奇怪,因为我的环境变量指向 11。此外 javac -version 显示 11。我的系统似乎不清楚哪个是当前版本。
我尝试了很多我在这里找到的解决方案,但似乎没有任何效果,除非我卸载 java 8。
如何解决这个问题并在我的电脑上的两个(或多个)java 版本之间干净地切换?
您计算机上的操作系统使用 PATH 环境变量来定位javac
可执行文件。 因此,JDK 11 安装的bin
子目录出现在 PATH 环境变量的值中。 请注意,JDK 8 安装的bin
子目录也可能出现在 PATH 的值中,但由于您说javac -version
显示 11,这意味着如果 JDK 11 bin
和 JDK 8 bin
都在 PATH 上,则 JDK 11 出现在前面JDK 8。这就是为什么当您发出javac -version
时它显示 11。
关于命令 java 的java -version
取决于我在您的问题中找不到的其他详细信息,包括(但不仅是)您安装了哪个 JDK 8。 如果它是 Oracle 的并且如果您在安装 JDK 11之后安装了 JDK 8,那就可以解释为什么java -version
显示 8。
请注意,如果您想运行特定的 JDK,您始终可以在输入命令时输入文件java.exe
的完整路径,而不仅仅是java
。
在 windows 10 上,您必须同时更改JAVA_HOME
和Path
。
JAVA_HOME
以指向您想要的版本。Path
中确保所需的版本在另一个之前。这对我有用(我经常在 java 8 和 11 之间切换)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.