-1

我最近遇到了以下问题:我有一个.jar文件尚未移植到高于 Java 8 的 Java 版本,但更喜欢使用 Java 13。我的环境是 Windows,所以我在逻辑上尝试编写一个脚本来自动更改 Path 变量:

set JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.242.08-hotspot
set Path=%JAVA_HOME%\bin;%Path%
echo Java 8 is set to path

我手动将JAVA_HOME环境变量设置为C:\Program Files\AdoptOpenJDK\jdk-13.0.2.8-hotspot,并在 Path 我添加了%JAVA_HOME%\bin. 然后,我将文件夹添加到 Path 中,其中存储了将 Path 变量更改为所需版本的脚本,并为 Java 8 和 Java 13 编写了批处理文件。如果JAVA_HOME运行良好,我在 cmd 中进行了测试:

echo %JAVA_HOME%
C:\Program Files\AdoptOpenJDK\jdk-8.0.242.08-hotspot

确实如此。另外,我可以成功调用我的脚本(我的批处理文件的名称是switch_to_java8

C:\WINDOWS\system32>switch_to_java8

C:\WINDOWS\system32>set JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.242.08-hotspot

C:\WINDOWS\system32>set Path=C:\Program Files\AdoptOpenJDK\jdk-8.0.242.08-hotspot\bin;C:\Program Files (x86)\Python38-32\Scripts\;C:\Program Files (x86)\Python38-32\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Microsoft VS Code\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\AdoptOpenJDK\jdk-13.0.2.8-hotspot\bin;C:\Program Files\AdoptOpenJDK\scripts;C:\Users\minef\AppData\Local\Microsoft\WindowsApps

C:\WINDOWS\system32>echo Java 8 is set to path
Java 8 is set to path

似乎它JAVA_HOME毕竟没有修改,我不太明白为什么。这是什么原因以及如何解决?我在每个步骤中都使用了高架访问。另外,是否可以编写一个批处理文件C:\Program Files\AdoptOpenJDK\jdk-8.0.242.08-hotspot\bin\java.exe直接调用?如果是,我该怎么做?

4

1 回答 1

-1

我不太明白问题出在哪里,您已将 JAVA_HOME 设置为 C:\Program Files\AdoptOpenJDK\jdk-8.0.242.08-hotspot,它就是这样做的。我错过了什么吗?

对于您的另一个问题,要运行 C:\Program Files\AdoptOpenJDK\jdk-8.0.242.08-hotspot\java.exe,只需调用%JAVA_HOME%\java.exe.

于 2020-03-14T11:11:11.163 回答