仅在一个目录的命令行中设置 Java 路径

Set Java path in command line for only one directory

我是运行一个使用Scala 2.10工作的程序,不兼容Java 8,只兼容Java 7。在Windows 7命令行,如何设置 java 路径以仅对该目录使用 Java 7?

如果程序使用批处理方式启动,则在程序启动前加入这一行:

SET JAVA_HOME="C:\Program Files\Java7\Java.exe"

(这只是一个示例,您的计算机上的目录可能会有所不同)

如果程序不使用这样的批处理(您可以识别它,因为它以 .cmd 或 .bat 结尾)创建这样的文件并将其用于启动程序:

@echo off
SET JAVA_HOME=...
ThisIsMyFancyScalaProgram.Exe

您可以像这样创建 2 个批处理文件,一个用于 java 7,一个用于 java 8 -

jdk7.bat

@echo off
echo Setting JAVA_HOME
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_11
echo setting PATH
set PATH=C:\Program Files\Java\jdk1.7.0_11\bin;%PATH%
echo Display java version
java -version

jdk8.bat

@echo off
echo Setting JAVA_HOME
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_11
echo setting PATH
set PATH=C:\Program Files\Java\jdk1.7.8_11\bin;%PATH%
echo Display java version
java -version

您可以在它们之间快速切换运行这些批处理文件。

添加系统环境变量:

setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0"

setx PATH "%PATH%;%JAVA_HOME%\bin";

更新系统环境变量:

setx -m JAVA_HOME "C:\Program Files\Java\jdk1.8.0"

setx -m PATH "%PATH%;%JAVA_HOME%\bin";