我应该如何设置 JAVA_HOME 以使用多个 jdks?
What should I set JAVA_HOME to using multiple jdks?
我想在 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 的各种版本之间轻松切换。
在环境和结果之间切换的命令示例:
➜ 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
What should I set my JAVA_HOME to?
分别为:
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
Is it possible for update-java-alternatives to set JAVA_HOME?
没有。不是。
update-java-alternatives
的目的是创建/维护 /usr/bin
等决定“全局”设置的符号链接。 JAVA_HOME
环境变量用于每个用户/每个脚本(或每个会话)配置。它们是正交的。
我想你可以编写一个 shell 函数,将 JAVA_HOME
设置为(比如)对应于 /usr/bin/java
当前解析为的任何 Java 安装。
我想在 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 的各种版本之间轻松切换。
在环境和结果之间切换的命令示例:
➜ 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
What should I set my JAVA_HOME to?
分别为:
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
Is it possible for update-java-alternatives to set JAVA_HOME?
没有。不是。
update-java-alternatives
的目的是创建/维护 /usr/bin
等决定“全局”设置的符号链接。 JAVA_HOME
环境变量用于每个用户/每个脚本(或每个会话)配置。它们是正交的。
我想你可以编写一个 shell 函数,将 JAVA_HOME
设置为(比如)对应于 /usr/bin/java
当前解析为的任何 Java 安装。