Bash

無法使用 Java OpenJDK 14 建構。/bin/sh: javac: command not found

  • August 11, 2020

我的任務是更新一個多年未觸及的 Java 程序,我在 Centos 7 上使用最新版本的 Java OpenJDK 14.0.1.7-2 建構它時遇到了問題。當我執行$ make all命令時開始編譯 Java 程序時,我收到一條/bin/sh: javac: command not found錯誤消息。

我已經編輯了.bash_profile我的主目錄中的文件並添加了:

export JAVA_HOME=/usr/lib/jvm/java-14-openjdk-14.0.1.7-2.rolling.el7.x86_64/bin/java

其次:$ source .bash_profile使更改生效並使用它進行驗證,echo $JAVA_HOME這給了我預期的輸出,但仍然沒有運氣。

到目前為止,我只能在安裝 Java OpenJDK 1.8 以及附加的 javac 儲存庫時成功建構程序。

執行alternatives --display javac我在最後一行得到這個:

Current `best' version is /usr/lib/jvm/java-1.7.0-openjdk 1.7.0.261-2.6.22.2.el7_8.x86_64/bin/javac.

這對我來說很奇怪,因為我沒有在我的系統上安裝 Java OpenJDK V1.7

執行alternatives --display java我在最後一行得到這個:

Current `best' version is /usr/lib/jvm/java-14-openjdk-14.0.1.7-2.rolling.el7.x86_64/bin/java.

任何關於我哪裡出錯的建議將不勝感激。

有幾件事,我注意到在您的 JAVA_HOME 環境變數中,您有一個實際 bin 的路徑,請嘗試將其更改為:

JAVA_HOME=/usr/lib/jvm/java-14-openjdk-14.0.1.7-2.rolling.el7.x86_64/

您可能還希望檢查 PATH 環境變數,使用以下命令:

find /bin/ /sbin/ /usr/sbin /usr/lib /usr/bin/ /usr/local/bin /usr/local/sbin ${HOME}/ /opt/ -type f -name 'javac' -exec dirname "{}" \;

如果找到了一些東西 export PATH=${PATH}:whatever-result-you-get-from-that

引用自:https://unix.stackexchange.com/questions/603386