带有JDK8和JDK9的JAVA_主页
出于某些原因,我需要使用JDK8和JDK9。将两条路径(到JDK8和JDK9)放入同一个JAVA_HOME系统环境变量中是一个好主意吗带有JDK8和JDK9的JAVA_主页,java,java-8,java-9,system-variable,Java,Java 8,Java 9,System Variable,出于某些原因,我需要使用JDK8和JDK9。将两条路径(到JDK8和JDK9)放入同一个JAVA_HOME系统环境变量中是一个好主意吗 详细信息:我需要同时运行两个系统,一个使用ant(使用jdk8),另一个使用maven(使用jdk9)。通常,该路径是为命令行界面中当前活动的java命令关键字保留的。在使用终端时,任何时候都不能同时激活多个JDK。所以这不是一个好主意 但是,您可以将JAVA_HOME指向有多个JDK安装的文件夹,然后将PATH变量设置为某个JDK。因此,当您想要更改JDK时,
详细信息:我需要同时运行两个系统,一个使用ant(使用jdk8),另一个使用maven(使用jdk9)。通常,该路径是为命令行界面中当前活动的java命令关键字保留的。在使用终端时,任何时候都不能同时激活多个JDK。所以这不是一个好主意 但是,您可以将JAVA_HOME指向有多个JDK安装的文件夹,然后将PATH变量设置为某个JDK。因此,当您想要更改JDK时,只需更改PATH变量,并保持JAVA_原样
如果您打算在IDE中的多个项目中使用不同的JDK,那么可以有多个JDK,并且可以在项目设置中选择要使用的JDK。如果我是您,那么我将创建函数()在
.profile
或.bashrc
中,命令提示符或终端将JAVA\u HOME
变量导出到Java8
或Java9
,具体取决于我分别运行的是ant
还是mvn
假设您的Java8和Java9安装在以下位置
- C:\ProgramFiles\Java\jdk1.8.0\U 151\bin
- C:\ProgramFiles\Java\jdk1.9.0\u 4\bin
.profile
或.bashrc
中的函数应该是这样的
对于ant
和Java8(这里我将命令行参数$1
传递给ant
命令)
对于mvn
和Java9
runmvn() {
export JAVA_HOME="C:\Program Files\Java\jdk1.9.0_4\bin";
mvn clean install;
}
使用上述功能,您可以在命令提示符下运行
ant
和mvn
,并且JAVA\u HOME
将仅针对该特定运行进行适当设置。解释您正在尝试做什么,为什么您认为两者都需要?显然,您不能同时使用两者,你想在它们之间切换吗?是的-关于切换,但不费吹灰之力。我需要同时运行这两个系统,一个是使用ant(使用jdk8),另一个是使用maven(使用jdk9)。在这种情况下,我建议将JAVA_HOME
设置为JAVA 8,并且可能的第三个选项是:只使用JDK 9,让一个构建生成与JAVA 8兼容的类。你可以说“出于某些原因”,但如果你不解释这些原因是什么,就很难真正知道真正的限制是什么。
runmvn() {
export JAVA_HOME="C:\Program Files\Java\jdk1.9.0_4\bin";
mvn clean install;
}