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

在Windows上的两个java版本之间切换,java,windows,version,system-variable,Java,Windows,Version,System Variable,目前我有一个java项目,我应该支持不同版本的java,它使用不同版本的java(和一些工具,比如Ant)。取决于发行票据,我需要处理java版本(7和8)并经常在它们之间切换。 有人能建议最好的方法来处理它更容易吗?我在Windows 7上工作,所以我编写了这样一个用于切换的bat文件(“switch_java.bat”): 但也许还有更好的解决方案?在我看来,这主要是基于观点的问题,但我不认为,您可能会找到更好的解决方案,然后使用批处理脚本来实现这一点 在我看来,用参数生成脚本可能不是很有用

目前我有一个java项目,我应该支持不同版本的java,它使用不同版本的java(和一些工具,比如Ant)。取决于发行票据,我需要处理java版本(7和8)并经常在它们之间切换。 有人能建议最好的方法来处理它更容易吗?我在Windows 7上工作,所以我编写了这样一个用于切换的bat文件(“switch_java.bat”):


但也许还有更好的解决方案?

在我看来,这主要是基于观点的问题,但我不认为,您可能会找到更好的解决方案,然后使用批处理脚本来实现这一点

在我看来,用参数生成脚本可能不是很有用,因为它应该通过命令行或其他bat文件执行


因此,您可以创建两个单独的bat文件,一个用于设置JDK1.7,另一个用于设置JDK1.8。或者,您可以修改脚本,以确定当前版本并设置另一个版本。在这两种情况下,您只需调用execute一个bat文件,而无需提供任何附加参数。

用于在一个环境中管理不同版本的Java。安装并将其添加到Path环境变量后,需要执行的所有操作包括:

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

    jenv add c:\Program Files\Java\jdk1.7.0_80
    
  • 配置要使用的JVM(全局、按目录或针对当前shell实例):


    • 有一个适用于windows的Github工具。我自己也在用,真的很好。 选择很少,但你需要的一切

      您可以添加新的JAVA版本、更改当前终端的版本或全局更改它们。只有在需要删除版本时,才必须编辑配置


      谢谢您的回复,我想,我会将我的脚本分为两部分,每一个版本都是独立的。但我正在寻找更多的“标准”解决方案,如果有的话……是的,我明白了,但正如我所知,批处理脚本正是解决这个问题的常用解决方案。但是如果能看到任何其他可能的解决方案,那将很有意思。Jenv看起来是一个很棒的工具,但它只适用于基于Unix的OSs。它是在shell脚本上编写的,在Windows环境中不起作用。Windows的另一种解决方案可以是
      sdkman
      。虽然它需要Mingw或W10支持的嵌入式Linuxhas@Lu55,但现在在Windows上,您可以将jEnv与WSL结合使用,或者只使用Cygwin将bash引入Windows环境。
      jenv add c:\Program Files\Java\jdk1.7.0_80
      
      jenv global jdk1.7.0_80