JVM版本管理器

时间:2010-03-17 16:18:50

标签: java jvm rvm

Java世界是否有Ruby Version Manager等价物?

我正在寻找能够轻松下载和安装新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.

6 个答案:

答案 0 :(得分:16)

http://www.jenv.be/将允许此类控件。

答案 1 :(得分:5)

使用JVM,如果需要在它们之间切换,只需使用批处理文件(或powershell脚本)来管理类路径和JVM路径。您不需要依赖系统默认的JVM路径,而只需通过更改运行JVM的shell中的类路径和JVM路径环境,让您的应用程序指向您喜欢的任何JVM。

对于从Registry获取Java位置的程序,理论上您可以使用批处理脚本来更新它。

在这方面,Java比“Ruby版本管理器”更容易。

答案 2 :(得分:5)

如果您使用Ubuntu,您可以通过命令指定要使用的JVM(仅适用于从apt-get或aptitude安装的JVM)

sudo update-alternatives --config java

或者通过设置JAVA_HOME。这是一个很好的教程:

http://vietpad.sourceforge.net/javaonlinux.html

答案 3 :(得分:4)

为了完整起见,还有两个 - jabba(其中我是作者;用Go编写并在nvm / gvm / rvm之后设计)和jenv(不要混淆jenv.be;不支持从oracle安装,但可以从自定义zip安装。)

答案 4 :(得分:2)

SDKMAN!是Java生态系统的类似工具。支持各种Java版本,包括Scala,Clojure,Kotlin,Groovy,以及诸如Maven和Gradle之类的构建工具。

可在Mac和Linux上运行,并根据您愿意尝试的努力来提及对Windows的支持:)

答案 5 :(得分:0)

诀窍是使用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。