追加読書

追加読書

私は何年も手を伸ばしていないJavaプログラムを更新する任務を担っていますが、最新バージョンのJava OpenJDK 14.0.1.7-2を使用してCentos 7でそれを構築するのに問題があります。$ make allJavaプログラムのコンパイルを開始するコマンドを実行すると、/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.

私がどこに間違っているのかについての提案は大いに感謝します。

答え1

いくつかは、JAVA_HOME環境変数に実際のリポジトリへのパスがあることに気づきました。これを次のように変更してみてください。

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 "{}" \;

エクスポート PATH=${PATH}:whatever-result-you-get-from-that または単に以下を見つけた場合:

export PATH=${PATH}:$(find /bin/ /sbin/ /usr/sbin /usr/lib /usr/bin/ /usr/local/bin /usr/local/sbin ${HOME}/ /opt/ -type f -name 'javac' -exec dirname "{}" \;)

答え2

代替案は、javac現在インストールされていないと言う項目を指します。これは、最も単純な答えは、代替がJDKを指すように更新することであることを示しています。はいインストールする。これにより、/usr/bin/javac実際の実行可能ファイルを指すようにシンボリックリンクが再指定され、検索が再びPATH機能javacします。実際のPATH変更は必要ありません。

代替 --config javac

これを行うインタラクティブな方法です。または

代替 --auto javac

追加読書

関連情報