簡體   English   中英

無法將 JAVA 路徑更改為 Oracle JDK

[英]Unable to change the JAVA path to the Oracle JDK

我正在使用安裝了默認 OpenJDK 的 RHEL8。 其中 java 命令指向 /usr/bin/java。 java -version 給出 openjdk 版本“1.8.0_252”

在 /u01/app/java/ 位置安裝 java。 修改了.bashrc,如下所示並獲取了它。 導出 JAVA_HOME=/u01/app/java/jdk1.8.0_241/ PATH="$JAVA_HOME/bin/java:$HOME/.local/bin:$HOME/bin:$PATH" 導出路徑

現在 JAVA_HOME 指向 /u01/app/java/jdk1.8.0_241/ 但是 java 或 java -version 仍然指向 OpenJDK。

  • 添加了相同的 in.bash_profile 文件並將其從 .bashrc 中刪除:結果相同
  • 刪除了 OpenJDK 並在 .bash_profile 中進行了更改。 但是這樣做會導致“找不到命令”錯誤。

我該如何解決?

這是路徑問題。 我已經為 PATH 提供了 PATH="$JAVA_HOME/bin/java:$HOME/.local/bin:$HOME/bin:$PATH" 。 不應該是這樣。 將我的 PATH 修改為以下。 有效。

PATH="$JAVA_HOME/bin:$HOME/.local/bin:$HOME/bin:$PATH" 導出路徑

發生這種情況是因為當您調用 java 它實際上被調用/usr/bin/java ,發出ls -l /usr/bin/java您可能會看到鏈接到 openjdk 安裝(可能通過雙鏈接:第一個是/usr/bin/java/etc/alternatives/java和第二個是鏈接到“真正的” java 可執行文件)。 例如,在我的 debian 上:

gianluca@asus-debian:~$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 mag 20  2018 /usr/bin/java -> /etc/alternatives/java
gianluca@asus-debian:~$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 43 nov 22  2019 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java

您可以通過兩種方式修復:

  • 骯臟的方式,您手動更新 /usr/bin 中導致不需要的 java 版本的所有符號鏈接,並使它們指向所需的
  • 干凈的方式,您使用為您完成工作的替代品。

您可以在此處閱讀有關 RHEL 替代方案的更多信息(中頁...“更長的版本”)。

很好的鏈接

暫無
暫無

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

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