繁体   English   中英

我们如何更改要使用的Java版本

[英]how can we change java version to use

我的机器(操作系统Windows 8)中安装了多个Java版本。 我的机器上安装了Java 1.6、1.7和1.8。 我仅将1.6版的路径环境变量设置为Java_Home,将1.8版的路径环境变量设置为Java_Home8。

但是奇怪的是,当我在命令提示符下键入java -version时,它指的是jdk 1.7版本。 但是奇怪的是,我查看了路径环境变量,但找不到通往jdk 1.7安装文件夹的路径。我没有为jdk 7创建任何单独的路径变量。我也没有将其包含在path中。 但是,当我打开命令提示符并键入java -version时,它仍然指向Java7。以下是path变量的内容

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jre1.8.0_60\bin;C:\Program Files\Java\jre1.6.0_07\bin;%M2%;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.6.0_07\bin;C:\Program Files\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;

有人可以解释这是怎么发生的。 我的假设是,当我执行java -version命令时,它引用路径变量中提供的版本。 但事实并非如此。 您能否解释一下原因以及它如何选择/显示Java 7版本。

Windows上的Java安装程序还将java.exejavaw.exejavaws.exe放入目录

C:\\ Windows \\ System32

至少Java 7做到了。 Java 8将相同的文件放入

C:\\ ProgramData \\ Oracle \\ Java \\ javapath

并将此目录放入PATH环境变量中。

上面提到的系统目录是PATH变量中提到的第一个目录: %SystemRoot%\\system32 因此,您可以根据需要将尽可能多的Java二进制目录放入PATH变量中……简单地调用java ...总是会从系统目录中启动程序-我猜这就是Java 7。

解? 从系统目录中删除它们。 哦,稍微整理一下PATH变量。 提到了多个Java目录。 通常,您只需要一个。 如果您暂时需要其他Java,请参阅@slartidan的答案以了解操作方法。

在Windows中,通常JRE的最后设置是在PATH环境变量中注册的。

JAVA_HOME已由许多启动器等使用,但不会更改Windows拼写的开始(例如,双击jar文件或在命令提示符下键入java时)。

我建议始终指定Java的完整路径,如下所示:

C:\Program Files\Java\jdkxy\bin\java - version

要么

%JAVA_HOME8%\bin\java -version

这样的好处是,您甚至不必再安装Java。 只需将您的Java文件夹之一复制到任何其他PC上,然后使用完全限定的路径运行Java。

暂无
暂无

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

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