Eclipseを使用してUbuntuでJavaプログラムを実行している場合は、 Maven またはNetbeansなどの場合、JAVA_HOMEをパスに設定する必要があります。 そうしないと、システムは「java_home環境変数が設定されていません」と文句を言います。
この初心者向けチュートリアルでは、UbuntuでJavaHome変数を正しく設定する手順を示します。 この手順は、他のほとんどのLinuxディストリビューションでも有効です。
このプロセスは、次の手順で構成されています。
- Java Development Kit(JDK)がインストールされていることを確認します。
- JDK実行可能ファイルの正しい場所を見つける。
- JAVA_HOME変数を設定し、変更を永続的にします。
ステップ1:JDKがインストールされているかどうかを確認します
LinuxシステムにJavaDevelopment Kit(JDK)がインストールされているかどうかを確認する最も簡単な方法は、次のコマンドを実行することです。
javac --version
上記のコマンドは、Javaコンパイラのバージョンをチェックします。 インストールされている場合は、Javaバージョンが表示されます。
Javaコンパイラがインストールされています
コマンドにjavacコマンドが見つからないなどのエラーが表示される場合は、JDKをインストールする必要があります。
Javaコンパイラがインストールされていません
システムにJavaコンパイラがインストールされていない場合は、次のコマンドを使用してJava DevelopmentKitをインストールします。
sudo apt install default-jdk
これにより、デフォルトのJavaバージョンが現在のUbuntuバージョンにインストールされます。 他の特定のJavaバージョンが必要な場合は、UbuntuにJavaをインストールするときに指定する必要があります。
Javaコンパイラがシステムに存在することを確認したら、その場所を見つけます。
ステップ2:JDK実行可能ファイル(Javaコンパイラ)の場所を取得する
実行可能ファイルは通常、/ usr / lib / jvmディレクトリにあります。 私は推測ゲームのためにあなたをあなた自身に任せません。 代わりに、Java実行可能ファイルのパスを調べてみましょう。
whichコマンドを使用する Javaコンパイラ実行可能ファイルの場所を取得するには:
which javac
ここでの問題は、それが与える場所が実際には シンボリックリンク。 あなたはそれを数回従う必要があります:
そして、/ usr / lib / jvm / java-11-openjdk-amd64 / bin / javacのようなパスを見つけたら、 / bin / javacを削除します それから何かを得る / usr / lib / jvm / java-11-openjdk-amd64
より簡単な方法は、シンボリックリンクをたどり、次のコマンドを使用して実際の実行可能ファイルに直接アクセスすることです。
readlink -f `which javac` | sed "s:/bin/javac::"
readlinkコマンドはシンボリックリンクをたどります。 私は `を使用しました。 これはコマンド置換と呼ばれ、コマンドをその出力に置き換えます。 次に、Sedを使用して/ bin / javacを何も置き換えず、完全に削除します。
私の中で example、実行可能ファイルの場所は / usr / lib / jvm / java-11-openjdk-amd64。 それはあなたにとって異なるかもしれません。 上記のコマンドから取得した正しいパスをシステムにコピーします。 あなたが知っている、あなたはUbuntuターミナルで貼り付けをコピーすることができます。
ステップ3:JAVA_HOME変数を設定する
場所がわかったので、それを使用してJAVA_HOME環境変数を設定します。
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java
JAVA_HOMEディレクトリの値を確認します。
echo $JAVA_HOME
java home ubuntulinuxを設定します
同じ端末でプログラムまたはプロジェクトを実行して、機能するかどうかを確認してください。
これはまだ終わっていません。 宣言したJAVA_HOME変数は一時的なものです。 もし、あんたが close ターミナルまたは新しいセッションを開始すると、再び空になります。
JAVA_HOME変数を「永続的に」設定するには、ホームディレクトリのbashrcファイルに追加する必要があります。
Linuxターミナルでファイルを編集するためにNanoエディターを使用できます。 それを望まず、単純なコピーアンドペーストアプローチを採用する場合は、次のコマンドを使用します。
bashrcファイルをバックアップします(混乱した場合は、元に戻すことができます)。
cp ~/.bashrc ~/.bashrc.bak
次、 echoコマンドを使用して追加します このセクションの冒頭で使用したエクスポートコマンド。 以下のコマンドを変更して、システムによって表示される正しいパスを使用します。。
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" >> ~/.bashrc
ファイルの最後に正しく追加されていることを確認します。
tail -3 ~/.bashrc
上記 テールコマンド 指定されたファイルの最後の3行が表示されます。
上記の3つのコマンドの出力全体を次に示します。
これで、セッションを終了したりシステムを再起動したりしても、JAVA_HOME変数は指定した値に設定されたままになります。 それがあなたが望むものですよね?
将来、デフォルトのJavaバージョンを変更する場合は、JAVA_HOMEの値を変更し、それを正しい実行可能パスにポイントする必要があることに注意してください。
このチュートリアルがJavaHomeの設定に役立つだけでなく、その方法も教えてくれることを願っています。
それでも問題が解決しない場合、または質問や提案がある場合は、コメントでお知らせください。