在Windows上的两个Java版本之间切换

目前我有一个Java项目,我应该支持它的不同版本,它使用不同版本的Java(和一些工具,如Ant)。 取决于问题票我需要处理Java版本(7和8),并经常在它们之间切换。 有人可以build议最好的方式来处理它更容易? 我正在使用Windows 7,因此我编写了用于切换的bat文件(“switch_java.bat”):

@ECHO OFF set changeToNewVersion=%1 IF "%changeToNewVersion%"=="true" ( setx /M ANT_HOME "c:\Program Files\Ant\apache-ant-1.9.4" setx /M JAVA_HOME "c:\Program Files\Java\jdk1.8.0_51" ) ELSE IF "%changeToNewVersion%"=="false" ( setx /M ANT_HOME "c:\Program Files\Ant\apache-ant-1.8.3" setx /M JAVA_HOME "c:\Program Files\Java\jdk1.7.0_79" ) ELSE ( echo ERROR: Enter key! ) 

但也许有更多的最佳解决scheme?

国际海事组织,这主要是基于意见的问题,但我不认为,你可能会找到一个更好的解决方案,然后批处理脚本来做到这一点。

从我的观点来看,使用参数编写脚本可能不是很有用,因为它应该通过命令行或其他bat文件来执行。

所以,你可以创建2个独立的bat文件,一个设置jdk 1.7,第二个设置jdk 1.8。 或者你可以修改你的脚本,以确定当前的版本,并设置另一个。 在这两种情况下,您都可以简单地调用执行bat文件而不提供任何附加参数。

为了在一个环境中管理不同版本的Java,我们可以使用jEnv工具 。 安装并将其添加到Path环境变量后,所有需要做的是:

  • 将所有需要的Java版本添加到jEnv配置中,如:

     jenv add c:\Program Files\Java\jdk1.7.0_80 
  • 配置使用哪个JVM(全局,按目录或当前shell实例):

     jenv global jdk1.7.0_80