如何驗證是否在 rhel 上安裝了 Java
我站起來 rhel VM。我很好奇是否安裝了JDK,所以我從shell(bash)執行了一個命令。
whereis java
它返回:
java: /usr/bin/java
所以我導航到路徑以驗證 Java 程序。
ls -l java
哪個返回:
lrwxrwxrwx 1 root root 26 May 2016 10:52 java -> /usr/java/default/bin/java
到目前為止一切都很好但是當執行java程序時:
java -bash: java: command not found
看起來 java 有符號連結,但 /usr/java/default/bin/java 不再存在。我只是想驗證是否安裝了 java (jdk) 但從我所看到的情況來看我不太確定。我想相信它沒有安裝如果是這樣為什麼系統返回java:/usr/bin/java?
我想相信它沒有安裝如果是這樣為什麼系統返回java:/usr/bin/java?
whereis
不解析符號連結。所以如果 /usr/bin/java 仍然存在,即使符號連結目標被破壞,它仍然會返回java: /usr/bin/java
. 我建議您使用type -a java
以獲得正確的結果。請注意,符號連結目標或非符號連結源文件,兩者都必須是可執行的(chmod +x
設置它),否則type -a
即使文件存在,命令也會返回 not found (type
無論執行檔仍然會返回)。所以,我可以簡化如下:
whereis: 即使符號連結損壞或不可執行,仍然返回發現。
類型:即使是不可執行的也可以返回,如果符號連結損壞,則返回未找到。
type -a:符號連結損壞或不可執行時未找到返回。
如果輸入文件不存在,它們都將返回 not found 。
所以,我可以建議再次安裝 JDK,“Oracle JDK”比“OpenJDK”更受歡迎。
可以在這裡找到一篇好文章。
這是你可以做的(假設你的系統是 x64):
sudo rpm -ivh jdk-8u91-linux-x64.rpm sudo rpm -ivh jdk-8u91-linux-x64-demos.rpm
以上8u91版本的版本號一直在更新,所以您應該經常訪問Oracle 網站以查找最新版本。點擊JDK DOWNLOAD按鈕將轉到此頁面,該頁面顯示最新版本號及其正確的文件名。
您也可以下載可以在此處找到真正連結的文件頁面,並解壓縮(假設您的 JDK 已安裝在
/usr/java/jdk1.8.0_91/
):sudo unzip jdk-8u91-docs-all.zip -d /usr/java/jdk1.8.0_91/ #optional
然後使用這兩個命令來選擇正確的 javac 和 java。我相信您只有一個選擇(此範例顯示 jdk1.8.0_74,因為我的不是最新的 8u91):
$ sudo alternatives --config javac There are 2 programs which provide 'javac'. Selection Command ----------------------------------------------- *+ 1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.fc21.x86_64/bin/javac 2 /usr/java/jdk1.8.0_74/bin/javac Enter to keep the current selection[+], or type selection number: 2 $ $ sudo alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- * 1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.fc21.x86_64/jre/bin/java + 2 /usr/java/jdk1.8.0_74/jre/bin/java Enter to keep the current selection[+], or type selection number: 2 $