【问题标题】:Switching between two java versions on Windows在 Windows 上的两个 java 版本之间切换
【发布时间】:2016-01-17 17:10:42
【问题描述】:

目前我有一个 java 项目,我应该支持它的不同版本,它使用不同版本的 Java(和一些工具,如 Ant)。取决于问题单,我需要同时处理 java 版本(7 和 8)并且经常在它们之间切换。 有人可以建议更轻松地处理它的最佳方法吗?我正在使用 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!
)

但也许有更优化的解决方案?

【问题讨论】:

    标签: java windows version system-variable


    【解决方案1】:

    IMO,这主要是基于意见的问题,但我认为您不会找到更好的解决方案,然后是批处理脚本来做到这一点。

    在我看来,制作带参数的脚本可能不是很有用,因为它应该通过命令行或从另一个 bat 文件执行。

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

    【讨论】:

    • 感谢您的回复,我想,我会将脚本分成两部分,分别针对每个版本。但我正在寻找更多“标准”解决方案,如果存在的话..
    • 是的,我明白了,但据我所知,批处理脚本正是解决此问题的常用解决方案。但是看到任何其他可能的解决方案会很有趣
    【解决方案2】:

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

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

    https://github.com/FelixSelter/JEnv-for-Windows

    【讨论】:

      【解决方案3】:

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

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

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

        jenv global jdk1.7.0_80
        

      【讨论】:

      • jEnv 看起来是一个很棒的工具,但它仅适用于基于 Unix 的操作系统。它是写在 shell 脚本上的,在 Windows 环境下不起作用。
      • Windows 的另一种解决方案可能是sdkmansdkman.io。虽然需要 Mingw 或者 W10 自带的嵌入式 Linux
      • @Lu55,回答你可能已经晚了,但现在在 Windows 上,你可以将 jEnv 与 WSL 一起使用,或者只使用 Cygwin 将 bash 带入 Windows 环境。
      • 刚刚在 WSL Ubuntu (ubuntu.com/wsl) 上安装了 jEnv。像魅力一样工作:D
      猜你喜欢
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 2018-05-08
      • 2019-02-15
      • 2018-04-21
      • 2020-05-08
      相关资源
      最近更新 更多