带有JDK8和JDK9的JAVA_HOME

时间:2018-03-15 12:52:26

标签: java java-8 java-9 system-variable

由于某些原因,我需要使用JDK8和JDK9。将两个路径(到JDK8和JDK9)放入同一个JAVA_HOME系统环境的变量中是个好主意吗?

详细信息:我需要同时运行两个系统,一个使用ant(使用jdk8),第二个使用maven(使用jdk9)。

2 个答案:

答案 0 :(得分:1)

通常,该路径是为命令行界面中的当前活动java命令关键字保留的。使用终端时,您无法在任何时刻同时激活多个JDK。所以这不是一个好主意。

但是,您可以将JAVA_HOME指向您有多个JDK安装的文件夹,然后将PATH变量设置为某个JDK。因此,当您想要更改JDK时,只需更改PATH变量并保持JAVA_HOME不变。

如果您打算在IDE中的多个项目中使用不同的JDK,那么您可以拥有多个JDK,并且可以在项目设置中选择要使用的JDK。

答案 1 :(得分:0)

如果我是你,那么我会在.profile.bashrc中为命令提示符或终端创建function(),它会将JAVA_HOME变量导出到Java8或{{1取决于我是分别运行Java9还是ant

假设您的Java8和Java9安装在以下位置......

  • C:\ Program Files \ Java \ jdk1.8.0_151 \ bin
  • C:\ Program Files \ Java \ jdk1.9.0_4 \ bin

然后,mvn.profile中的功能应该是这样的......

对于.bashrc和Java8(这里我将命令行参数ant传递给$1命令)...

ant

对于runant() { export JAVA_HOME="C:\Program Files\Java\jdk1.8.0_151\bin"; ant $1; } 和Java9 ...

mvn

使用上述功能,您可以从命令提示符运行runmvn() { export JAVA_HOME="C:\Program Files\Java\jdk1.9.0_4\bin"; mvn clean install; } ant,并且仅为该特定运行正确设置mvn