我应该如何设置JAVA_HOME使用多个jdk ?



我想在Linux上切换以下jdk(使用update-java-alternatives):

java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-16-oracle                 1091       /usr/lib/jvm/java-16-oracle
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64

我应该把JAVA_HOME设置成什么?是否可以使用update-java-alternatives来设置JAVA_HOME?

我建议使用像https://sdkman.io/这样的网站——它允许你下载和轻松切换不同版本的JDK。

在envs和结果之间切换的命令示例:

➜ echo $JAVA_HOME
/home/pdys/.sdkman/candidates/java/current
~ 
➜ java -version
openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-16.0.1+9 (build 16.0.1+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-16.0.1+9 (build 16.0.1+9, mixed     mode, sharing)
~ 
➜ sdk use java 8.0.242.hs-adpt
Using java version 8.0.242.hs-adpt in this shell.
~ 
➜ java -version               
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)
~ 
➜ echo $JAVA_HOME             
/home/pdys/.sdkman/candidates/java/8.0.242.hs-adpt

我应该将JAVA_HOME设置为什么?

分别为

export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
export JAVA_HOME=/usr/lib/jvm/java-16-oracle
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

是否可以为update-java-alternatives设置JAVA_HOME?

。它不是。

update-java-alternatives的目的是创建/维护/usr/bin等中的符号链接,这些符号链接决定了什么是"全局"。设置。JAVA_HOME环境变量用于每个用户/每个脚本(或每个会话)配置。它们是正交的

我猜你可以写一个shell函数,将JAVA_HOME设置为(比如说)与/usr/bin/java当前解析的内容相对应的Java安装。

相关内容

  • 没有找到相关文章

最新更新