由于某些原因,我需要使用JDK8和JDK9。将两个路径(到JDK8和JDK9)放入同一个JAVA_HOME系统环境的变量中是个好主意吗?
详细信息:我需要同时运行两个系统,一个使用ant(使用jdk8),第二个使用maven(使用jdk9)。
答案 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安装在以下位置......
然后,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
。