47

是否有与 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.
4

7 回答 7

26

http://www.jenv.be/将允许这种类型的控制。

于 2013-05-08T13:46:03.143 回答
21

软件开发者!是 Java 生态系统的类似工具。支持各种 Java 版本、Scala、Clojure、Kotlin、Groovy,以及 Maven 和 Gradle 等构建工具。

可在 Mac 和 Linux 上运行,根据您愿意尝试的程度,会提到一些对 Windows 的支持 :)

于 2018-10-10T16:19:17.900 回答
17

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

sudo update-alternatives --config java

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

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

于 2012-04-11T17:21:03.603 回答
11

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

于 2016-03-25T05:58:50.210 回答
5

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

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

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

于 2010-03-17T16:32:37.190 回答
2
于 2022-01-19T08:26:55.047 回答
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。

于 2015-01-09T16:51:27.477 回答