由于某些原因,我需要使用 JDK8 和 JDK9。将两个路径(到 JDK8 和 JDK9)放入同一个 JAVA_HOME 系统环境的变量中是个好主意吗?
详细信息:我需要同时运行两个系统,一个使用 ant(使用 jdk8),第二个使用 maven(使用 jdk9)。
由于某些原因,我需要使用 JDK8 和 JDK9。将两个路径(到 JDK8 和 JDK9)放入同一个 JAVA_HOME 系统环境的变量中是个好主意吗?
详细信息:我需要同时运行两个系统,一个使用 ant(使用 jdk8),第二个使用 maven(使用 jdk9)。
通常该路径是为命令行界面中当前活动的 java 命令关键字保留的。使用终端时,您不能在任何时候同时激活多个 JDK。所以这不是一个好主意。
但是,您可以将 JAVA_HOME 指向安装了多个 JDK 的文件夹,然后将 PATH 变量设置为某个 JDK。因此,当您想更改 JDK 时,您只需更改 PATH 变量并保持 JAVA_HOME 不变。
如果您打算在 IDE 中的多个项目中使用不同的 JDK,那么是的,您可以拥有多个 JDK,您可以在“项目设置”中选择要使用的 JDK。
如果我是你,那么我将在命令提示符或终端中.profile
或.bashrc
为命令提示符或终端创建函数(),它将JAVA_HOME
变量导出到Java8
或Java9
取决于我是否正在运行ant
或mvn
分别运行。
假设您的 Java8 和 Java9 安装在以下位置...
那么你的功能.profile
应该.bashrc
是这样的......
对于ant
和 Java8(这里我将命令行参数传递$1
给ant
命令)...
runant() {
export JAVA_HOME="C:\Program Files\Java\jdk1.8.0_151\bin";
ant $1;
}
对于mvn
和 Java9 ...
runmvn() {
export JAVA_HOME="C:\Program Files\Java\jdk1.9.0_4\bin";
mvn clean install;
}
使用上述功能,您可以从命令提示符运行ant
并仅针对该特定运行进行适当设置。mvn
JAVA_HOME