我想在 Linux 下的 jdks 之間切換(使用 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?
uj5u.com熱心網友回復:
我建議使用類似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
uj5u.com熱心網友回復:
我應該將我的 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 安裝。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/321756.html
上一篇:在錯誤的一天執行的cronjob
