是否有与 Java 世界等效的Ruby 版本管理器?
我正在寻找可以让我轻松下载和安装新的 JVM 并在它们之间切换的工具。例如:
jvm install <version>
jvm list //will list installed JVMs on my system
jvm use jdk1.6 //will switch my env to jdk 1.6 version, etc.
是否有与 Java 世界等效的Ruby 版本管理器?
我正在寻找可以让我轻松下载和安装新的 JVM 并在它们之间切换的工具。例如:
jvm install <version>
jvm list //will list installed JVMs on my system
jvm use jdk1.6 //will switch my env to jdk 1.6 version, etc.
http://www.jenv.be/将允许这种类型的控制。
软件开发者!是 Java 生态系统的类似工具。支持各种 Java 版本、Scala、Clojure、Kotlin、Groovy,以及 Maven 和 Gradle 等构建工具。
可在 Mac 和 Linux 上运行,根据您愿意尝试的程度,会提到一些对 Windows 的支持 :)
如果您使用 Ubuntu,您可以通过命令指定要使用的 JVM(仅适用于从 apt-get 或 aptitude 安装的 JVM)
sudo update-alternatives --config java
或者通过设置 JAVA_HOME。这是一个很好的教程:
使用 JVM,如果您需要在它们之间切换,您只需要使用批处理文件(或 powershell 脚本)来管理类路径和 JVM 路径。您不需要依赖系统默认的 JVM 路径,而只需通过更改运行 JVM 的 shell 中的类路径和 JVM 路径环境,让您的应用程序指向您喜欢的任何 JVM。
对于从注册表获取 Java 位置的程序,理论上您也可以使用批处理脚本来更新它。
在这方面,Java 比“Ruby 版本管理器”要容易得多。
诀窍是使用 update-java-alternatives(来自 java-common 包)。update-alternatives 命令不会更新各种 java /bin 可执行文件的每个符号链接,这就是 update-java-alternatives 更好的原因。
因此,要使用 OpenJDK 6 到 7,请使用update-java-alternatives -l
获取 Java 替代品列表,然后用于sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
切换 JDK。
CAVEAT:上面的命令可能会抛出以下错误,
update-alternatives: error: no alternatives for mozilla-javaplugin.so.
update-java-alternatives: plugin alternative does not exist:
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
这是因为默认没有安装 openjdk 插件。修复运行sudo apt-get install icedtea-7-plugin
并重新运行 update-java-alternatives。