忽略 Path 中的 Java.exe 并使用我所在目录中的那个

Ignore Java.exe from Path and use the one from directory I am in

我设置 Java 6 以供所有其他应用程序使用。使用 JAVA_HOME、JRE_HOME 等的正常设置。这工作正常。

我有另一个应用程序需要 Java 7. 我下载了 Java 7.exe 并从中提取了 tools.zip 到一个文件夹中。现在我正在尝试检查进入 bin 文件夹的版本。当我输入 java -version 时,出现以下错误。

error occurred during initialization of vm 
java/lang/noclassdeffounderror java/lang/object

其中 java -fullversion 显示 Java 7. 看起来即使我在 Java.exe 存在的 bin 文件夹中,它仍然从 PATH 获取那个?!?!

如何使用文件夹中的 java.exe 而忽略 PATH 中的文件?

您需要的不仅仅是 java 到 运行 java。您需要 Java 附带的所有 rt.jar 和库。听起来您缺少 JRE 的某些部分,或者找不到您的 JRE。

我建议您重新安装您需要的版本,运行 使用完整路径名

c:\>"c:\Program Files\Java\jdk1.7.0_60\bin\java" -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

c:\>"c:\Program Files\Java\jdk1.8.0_45\bin\java" -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

通过使用完整路径名,您可以使用任何目录中的任何特定版本。