簡體   English   中英

$JAVA_HOME 錯誤,我如何找出實際設置的內容?

[英]$JAVA_HOME is wrong, how do I find out what to actually set it to?

我有一個程序,我試圖在我的 ubuntu 20.04 機器上安裝。 程序安裝失敗並顯示此消息

Java was not found in /usr/lib/jvm/jdk1.8.0_212

這對我來說似乎很奇怪,所以我檢查了我的 $JAVA_HOME (奇怪的是,只能以 root 身份查看?)

# echo $JAVA_HOME
/usr/lib/jvm/jdk1.8.0_212

似乎正確,我現在嘗試 cd 到/usr/lib/jvm/ 在這里我可以知道那里實際上沒有 jdk1.8.0_212 文件或目錄。 那么安裝失敗是有意義的。

所以現在我需要找到我的 java 安裝並將 JAVA_HOME 設置為它。 我有 jdk 安裝的 java :

$ java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-8u282-b08-0ubuntu1~20.04-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)

所以現在我運行:

$ which java
/usr/bin/java
$ cd /usr/bin
$ file java
java: symbolic link to /etc/alternatives/java

好的,很酷,所以我只需要在那里找到實際安裝

$ cd /etc/alternatives/
$ file java

java:到 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 的符號鏈接再次重定向,所以我在那里 cd:

cd /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/
ask@garser:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin$ file java
java: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3d504fb34d33700e2299eb7797d78751d2d0a126, for GNU/Linux 3.2.0, stripped

我不知道這意味着什么。 如何找到輸入“java -version”時可以看到的安裝 java? 編輯:

我剛剛了解到,我也應該能夠通過運行找到我的 java 安裝:

/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/

然而,這是一條全新的道路,我不知道這意味着什么

據我所知,將$JAVA_HOME/usr/bin/並沒有錯,因為 Java 確實放在那里。 它被設置為鏈接的事實不應該有任何區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM