如何在Linux中切换不同的java版本?

How to switch between different java versions in Linux?

我手动安装了Java8,通过命令行(open-jdk)安装了Java11。我是 linux 的菜鸟,不知道如何在版本之间切换。

我运行以下命令更改默认版本。

update-alternatives --config java

Returns:

  Selection    Path                                         Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1101      auto mode
  1            /opt/java/jdk1.8.0_211/bin/java               1         manual mode
  2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1101      manual mode

update-alternatives --config javac

Returns:

There is only one alternative in link group javac (providing /usr/bin/javac): /usr/lib/jvm/java-11-openjdk-amd64/bin/javac
Nothing to configure.

您可以使用 SDKMan 让我们做同样的事情,SDKMan 是一个免费使用的开源工具,它可以帮助我们安装和管理大约 29 个软件开发工具包的并行版本,例如 Java、Groovy、Scala、Kotlin 和 Ceylon。 Ant、Gradle、Grails、Maven、SBT、Spark、Spring 启动、Vert.x.

它还会自动设置 _HOMEPATH 环境变量。

您可以通过运行下面的命令

安装SDKMan
$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"

您可以使用

列出Java的所有版本
$ sdk list java

并且您可以使用 sdk install 命令安装不同的 Java 版本 例如

$ sdk install java 9.0.4-open
$ sdk install java 11.0.2-open

您可以使用 sdk usesdk default 命令在它们之间切换,您可以在我的博客 How to Install Multiple Versions of Java on the Same Machine.

上阅读更多相关信息