如何通过环境变量改变当前java版本?

How to change the current java version through environment variables?

我有一个 POS 必须是 java7 上的 运行 我通过在命令提示符下键入 java -version 检查当前版本并得到以下输出:

java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

既然要java7,就想到编辑环境变量指向jdk1.7,查看变量时如下:

我看到它已经指向 java7 jdk。这怎么可能以及如何 运行 java7?

更新:

系统变量PATH

我想我找到了问题,但没有找到解决方案。第一个系统变量 - C:\ProgramData\Oracle\Java\javapath 在这里引起了麻烦,它在给定路径中有一个 java.exe。可能是我直接把java从java7升级到java8的产物。但是如果我删除它,它会导致 cmd 出错。可以做什么?

首先,我们无法在用户变量部分看到 "PATH" 变量的完整值。

I see that it is already pinting to java7 jdk. How is this possible

通常"JAVA_HOME"由apache tomcat service installer设置,因为tomcat只能通过"JAVA_HOME"变量找到Java。

and how to run java7?

在ruby和python之后的PATH变量中查找是否有jdk 1.8提到的地方。并将其替换为 jdk 1.7 路径,或者您可以在 PATH 中将 JAVA_HOME 引用为 %JAVA_HOME%

eg: PATH = C:\Ruby....;%JAVA_HOME%\bin;

你在混合两种东西。 1. Java home :如果您尝试回显 JAVA_HOME 它将指向 jdk1.7 ... 正如您所提到的。许多 programs/applications 使用此 env 变量来定位 java。 2. 路径变量:这是可执行文件所在的位置。因此,如果您尝试 运行 某些 program/executable,系统将尝试使用路径项列表定位可执行文件。所以这应该指向 jdk 7 如果你想直接使用 java.

经过几个小时的研究,我找到了问题和解决方案,这很简单。

自从我使用 java 通知升级到 java8 后,已将 C:\ProgramData\Oracle\Java\javapath 输入系统变量,该变量是指向新 jdk。

为了使用java7,我只需要将jdk1.7 指针指向顶部即可。