如何在windows上的path上有两个不同的java SDK
我有一个程序,它似乎只适用于更高版本的java(14.1.03),但是我不想卸载当前最新的java版本。我想知道是否有可能在Windows10的路径中有两个java实例,并且能够通过命令提示符编译程序,并选择编译程序的java实例如何在windows上的path上有两个不同的java SDK,java,Java,我有一个程序,它似乎只适用于更高版本的java(14.1.03),但是我不想卸载当前最新的java版本。我想知道是否有可能在Windows10的路径中有两个java实例,并且能够通过命令提示符编译程序,并选择编译程序的java实例 提前谢谢 基本上,将多个Java安装目录放到%PATH%上是行不通的 %PATH%变量是命令处理器搜索以解析命令名的目录列表。当您告诉shell运行java时,它会依次查看每个目录,直到找到与java匹配的可执行命令(例如java.exe,java.bat等)。然后它
提前谢谢 基本上,将多个Java安装目录放到
%PATH%
上是行不通的
%PATH%
变量是命令处理器搜索以解析命令名的目录列表。当您告诉shell运行java
时,它会依次查看每个目录,直到找到与java
匹配的可执行命令(例如java.exe
,java.bat
等)。然后它停止寻找
因此,如果在%PATH%
上有Java 11和Java 14,则其中一个将比另一个更早出现在列表中。Java命令将来自该Java安装,而另一个安装(通常)将被忽略
解决方案: 一种方法是根据要立即使用的Java安装设置
%PATH%
:
- 可以通过在用于启动应用程序的批处理文件中嵌入本地
设置来实现这一点%PATH%
- 你可以交互地做
- 您可以通过使用特定于用户(或帐户)的
设置来实现%PATH%
C:/JDK11/bin/java
或C:/JDK14/bin/java
而不是java
。(当然要使用合适的路径。)
(在Linux上,有一个很好的工具叫做
alternations
,可以用来管理和切换默认命令。它使用符号链接来实现…您的java 14.1.03javac
可以构建与旧版本java兼容的类。@restore不适用于所有旧版本的java。谢谢,我将对此进行研究。)