Gle*_*iko 6 java windows version system-variable
目前我有一个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!
)
Run Code Online (Sandbox Code Playgroud)
但也许还有更优化的解决方案?
Windows 上有一个 Github 工具。我自己也在用,效果真的很好。
如果您遇到问题,维护人员通常会很快做出响应
添加新的Java环境(需要绝对路径)
jenv add<name> <path>
示例:jenv add jdk15 D:\Programme\Java\jdk-15.0.1
更改当前会话的 java 版本
jenv use<name>
示例:jenv use jdk15
脚本编写的环境变量:
---PowerShell: $ENV:JENVUSE="jdk17"
---CMD/BATCH:set "JENVUSE=jdk17"
清除当前会话的 java 版本
jenv use remove
示例:jenv use remove
用于脚本编写的环境变量:
---PowerShell: $ENV:JENVUSE=$null
---CMD/BATCH:set "JENVUSE="
全局更改您的 java 版本
jenv change<name>
示例:jenv change jdk15
始终在此文件夹jenv local<name>中使用此 java 版本
示例:jenv local jdk15
清除此文件夹的 java 版本
jenv local remove
示例:jenv local remove
列出所有 Java 环境
jenv list
示例:jenv list
从 JEnv 列表中删除现有的 JDK
jenv remove<name>
示例:jenv remove jdk15
允许使用位于 java 目录
jenv link<Executable name>
中的 javac、javaw 或其他可执行文件
示例:jenv link javac
卸载 jenv 并自动恢复您选择的 Java 版本
jenv uninstall<name>
示例:jenv uninstall jdk17
自动搜索要添加的java版本
jenv autoscan?<path>?
示例:jenv autoscan "C:\Program Files\Java"
示例:jenv autoscan// 将搜索整个系统
https://github.com/FelixSelter/JEnv-for-Windows
为了在一个环境中管理不同版本的 Java,我们可以使用jEnv 工具。安装并将其添加到 Path 环境变量后,需要做的就是:
将您需要的所有 Java 版本添加到 jEnv 配置中,例如:
jenv add c:\Program Files\Java\jdk1.7.0_80
Run Code Online (Sandbox Code Playgroud)配置要使用的 JVM(全局、按目录或当前 shell 实例):
jenv global jdk1.7.0_80
Run Code Online (Sandbox Code Playgroud)