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.
答案 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。这是一个很好的教程:
答案 3 :(得分:4)
答案 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。