無法使用 Java OpenJDK 14 建構。/bin/sh: javac: command not found
我的任務是更新一個多年未觸及的 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