JVM版本管理器

jdzmm42g  于 2022-11-07  发布在  其他
关注(0)|答案(7)|浏览(142)

对于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.
nwo49xxi

nwo49xxi1#

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

nzrxty8p

nzrxty8p2#

SDKMAN!是一个类似于Java生态系统的工具,支持各种Java版本,Scala、Clojure、Kotlin、Groovy,以及Maven和Gradle等构建工具。
在Mac和Linux上工作,其中一些提到了对Windows的支持,这取决于你愿意尝试的努力程度:)

pw9qyyiw

pw9qyyiw3#

如果您使用Ubuntu,您可以通过命令指定要使用的JVM(仅适用于从apt-get或aptitude安装的JVM)
sudo update-alternatives --config java
或者通过设置JAVA_HOME.下面是很好的教程:
http://vietpad.sourceforge.net/javaonlinux.html

m3eecexj

m3eecexj4#

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

eit6fx6z

eit6fx6z5#

使用JVM,如果你需要在它们之间切换,你只需要使用一个批处理文件(或powershell脚本)来管理类路径和JVM路径。你不需要依赖系统默认的JVM路径,而是通过在运行JVM的shell中更改类路径和JVM路径环境,让你的应用指向你喜欢的任何JVM。
对于从注册表中获取Java位置的程序,理论上您也可以使用批处理脚本来更新。
在这方面,Java要比“Ruby版本管理器”简单得多。

yks3o0rb

yks3o0rb6#

由于它(还)不在可能性列表中,因此还有asdf
asdf不仅为java提供了版本管理,默认情况下它还提供了~400 different languages and tools的插件,你可以在githubcreate your own上找到更多。
下面是一个如何设置新安装的示例(你也可以安装补全,这样你就不必先列出版本了)。java插件被添加,一个特定的版本(存在用于adoptopenjdkcorrettodragonwellgraalvmlibericamandrelmicrosoftopenjdkoraclesapmachinesemerutemurin的版本,travazulu),并将其配置为全局(或本地版本)以用途:

asdf plugin-add java          # Add java Plugin
asdf list-all java            # List all available java versions
asdf install java openjdk-18  # Install specific jdk version
asdf install java openjdk-17  # Install another jdk version
asdf global java openjdk-18   # Set the global jdk version
asdf local java openjdk-17    # Set the local version for calls from the current directory

asdf使用$HOME/.tool-versions中的文件来配置全局选定版本。如果您调用的目录中包含不同版本的.tool-versions文件的任何工具,则将使用该文件(使用asdf local …定义)。

ubbxdtey

ubbxdtey7#

诀窍是使用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。
注意:上面的命令可能会抛出以下错误,

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。

相关问题