"JAVA_HOME is not defined correctly? "や "JAVA_HOME is set to an invalid directory? "といったJavaのエラーが表示されていませんか?Java Development Kit()やJava Runtime Environment(JRE)を最近インストールした場合、JAVA_HOME変数を設定し、アプリケーションがJavaを見つけることができるようにパスを設定する必要があります。このWikiHowでは、Windows、macOS、LinuxでJavaのホームパスを変更または設定する最も簡単な方法を紹介します。
知っておくべきこと
- JAVA_HOMEを設定する前に、JDKまたはJREのフルパスが必要です。
- JAVA_HOME環境変数を設定したら、echo $JAVA_HOMEコマンドを実行して新しいパスを確認できます。
- LinuxやmacOSでJavaのホームとパスを恒久的に(再起動後も)設定するには、環境変数を.bashrcまたは.zshrcファイルに追加します。
Windows
-
Javaのインストール・ディレクトリを見つける。インストール時にJREのパスが変更されていないと仮定すると、C:¥Program Files¥Javaの下のディレクトリにあるはずです。フルパスを見つけるには、いくつかの方法があります:
- File Explorerを開き、左のパネルでThis PCをクリックし、C:◆Program FilesJavaに移動します。探しているディレクトリには、C:◆Program Files◆Java◆jdk-19のようにJDKのバージョン名があるはずです。
- JDKの代わりにJREをインストールした場合は、C:◆Program Files ◆Java ◆jre1.8.0_351のようになります。
- を開いて、wmic product where "Name like '%%Java%%'" get installlocation,Nameというコマンドを実行することもできる。JAVA_HOMEを設定していなくても、これでJDKのフルパスがわかります。
-
システムの詳細設定を開きます。やり方はこうだ:
- キーボードのWindowsキーを押し、advanced systemと入力します。
- 検索結果の「高度なシステム設定を表示」をクリックします。
-
環境変数」ボタンをクリックします。システム・プロパティ・ウィンドウの右下にあります。
-
"ユーザー変数 "の下にある "新規... "ボタンをクリックする。このウィンドウには、"ユーザー変数 "と "システム変数 "の2つのセクションがあります。最初のボックス(ユーザー変数)の下でNewをクリックしていることを確認してください。
- JDKを複数インストールしており、JAVA_HOMEを新しいインストールに変更したい場合は、現在のJAVA_HOMEユーザー変数を選択し、代わりに「編集...」をクリックします。
-
JAVA_HOMEを "変数名 "として入力します。
- 現在のJAVA_HOMEパスを編集している場合、ここにはすでにJAVA_HOMEがあります。ですから、このステップは省略できます。
-
JDKまたはJREのフルパスを入力します。例えば、パスがC:¥Program Files¥JAVA¥jdk-19の場合、そのフルパスを "Variable value "フィールドに入力する。
- JAVA_HOMEに2つ目のパスを追加する場合、最初のパスの後にセミコロン(;)を入力し、2つ目のパスを入力するだけです。
- 古いJAVA_HOMEのパスを置き換える場合は、現在のパスを削除して新しいパスを入力するだけです。
-
OKをクリックします。これで環境変数ウィンドウに戻ります。
-
Pathユーザー変数を選択し、Editをクリックします。すでに "ユーザー変数 "セクションに "Path "という変数があるはずです。Javaバイナリを実行できるようにするには、パスを編集してJDK binディレクトリの場所を追加する必要があります。
- このPCの他のユーザーがコマンドラインからJavaバイナリーにアクセスできるようにしたい場合は、「システム変数」の「パス」変数でもこの手順を繰り返す。
-
パスの最後に、Javaの/binディレクトリへのパスを追加する。パスにはすでに少なくとも1つのディレクトリがあるはずなので、そのディレクトリはそのままにしておく必要がある。Java binディレクトリを追加する方法は以下の通りです:
- 一番上の[New]ボタンをクリックします。
- JREまたはJDKへのフル・パスを、最後に˶を付けて入力します。例えば、C:¥Program Files¥Java¥jdk-19bin や C:¥Program Files¥Java¥jre1.8.0_351bin のようにします。
- OKをクリックする。
-
以降のすべてのウィンドウでOKをクリックする。これでJAVA_HOME変数が更新され、Javaバイナリがパスに追加される。
- 変更を有効にするためにコンピューターを再起動する必要はありませんが、Javaにアクセスしようとしていたアプリを再起動する必要があります。
- 新しいコマンド・プロンプト・ウィンドウを開き、echo %JAVA_HOME%コマンドを実行して、JAVA_HOMEへの新しいパスを表示します。
- これが新しいコマンド・プロンプト・ウィンドウであることを確認してください。同じウィンドウを開いたままだと、新しい環境変数を持っていないため、コマンドは失敗します。
macOS
-
Terminalウィンドウを開きます。SpotlightでTerminalを検索する。または、Finderを開き、Goメニューをクリックし、Utilitiesを選択し、Terminalアプリを選択します。
-
usr/libexec/java_home と入力し、⏎ Return を押す。macOSにプリインストールされているこの便利なユーティリティは、JAVA_HOMEを設定するのに必要な、Javaのフルパスを教えてくれる。
- Javaを複数インストールしており、すべてのパスを確認したい場合は、代わりに/usr/libexec/java_home -Vを使用してください。
-
パスをコピーして手近な場所に貼り付ける。JAVA_HOMEとして使いたいJavaインストールへのパスを強調表示し、Cmd + Vを押してコピーし、テキスト・ファイルに貼り付ける。
-
.zshrcファイルをテキストエディタで開いてください。macOS Catalina以降を使用している限り、デフォルトでzshシェルを使用しているため、JAVA_HOMEとパスを.zshrcファイルに追加することになります。 それ以前のバージョンのmacOSを使用している(またはbashシェルを好んでいる)場合は、これらのコマンドの代わりに.zshrcを.bashrcに置き換えてください。ファイルを開く最も簡単な方法は以下の通り:
- cd ~と入力してリターンキーを押す。
- open .zshrcと入力してReturnを押す。テキストエディタで開く。
- ファイルが見つからない場合は、echo > .zshrcと入力してリターンキーを押します。その後、もう一度open .zshrcを実行する。
-
これらの行をファイルの一番下に追加する。これらの行を追加することで、ログオフしたり別のウィンドウを開いたりしても、JAVA_HOMEが正しく設定されるようになります。ファイルに既存の内容がある場合は、それらを越えて下にスクロールし、個々の行に以下のテキストを入力してください:
-
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
- Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Homeを、Javaインストールの/Contents/Homeディレクトリへのフルパスに置き換えます。
- export PATH=$JAVA_HOME/bin:$PATH
- ファイルを保存し、終了したらテキストエディタを終了する。
-
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
-
source .zshrcと入力し、⏎ Returnを押します。プロファイルを編集したら、このコマンドを実行することで、現在のターミナル・ウィンドウ(およびこれから開く他のウィンドウ)の環境変数が更新されます。
-
echo $JAVA_HOMEと入力し、⏎リターンを押してJAVA_HOMEを確認します。これでJAVA_HOMEへのフルパスが表示されるはずです。
- Javaバイナリを探そうとしている他のウィンドウを開いていた場合は、一旦閉じて開き直してください。
- PCアクセサリーやオフィス用品をお探しですか?Staplesの割引やOffice Depotの割引をチェックしてください。
リナックス
-
ターミナル・ウィンドウを開く。デスクトップ環境にログインしている場合、Ctrl + Alt + Tを押してターミナル・ウィンドウを起動することができる。
- この方法は、Redhatを含むLinuxのほぼすべてのバージョンで動作します。
-
Javaのインストール場所を見つける。その場所を見つける1つの方法として、which javacコマンドを実行することが考えられるが、これではシンボリックリンクしか得られない。代わりに、次のコマンドを実行して実行ファイルの場所を見つける:
- readlink -f `which javac` です。
- それでもうまくいかない場合は、update-alternatives --list javaを実行してみてください。
- どちらのコマンドもうまくいかない場合は、whereis javaを実行すると、通常/usr/bin/javaのようなシンボリックリンクができます。
- そのディレクトリが見つかったら、ls -la /bin/javaでリンク先を確認する。
- それが別のディレクトリ、例えば/etc/alternatives/javaを指している場合は、ls -la /etc/alternatives/javaを実行する。
- その時点で、もっと長いディレクトリが表示されるはずで、それが実際にJavaバイナリのホームである。たとえば、usr/lib/jvm/java-11-openjdk-arm64/bin/java。これが必要なディレクトリである。
-
JAVA_HOMEパスを設定する。これでJavaの場所がわかったので、.bashrcファイル(を使用している場合)、.zshrc(zshシェルの場合)、またはシェルの同等のファイルにパスを追加できます。 次の両方のコマンドを実行し、パスをJDKまたはJREのインストール先パスに、「bashrc」をシェルのログイン・スクリプトに置き換えてください:
- echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64" >> ~/.bashrc
- echo "export PATH=$PATH:$JAVA_HOME/bin" >> ~/.bashrc
-
source .bashrcと入力すると、現在のターミナル・ウィンドウに変更が適用されます。すでにJavaのホームを設定し、バイナリへのパスを恒久的に追加していますが、このコマンドを実行するまで、現在のターミナル・ウィンドウには変更が反映されません。
- この時点で、echo $JAVA_HOMEを実行して、システム上のJavaの場所を確認することができる。
コメント
最新を表示する
NG表示方式
NGID一覧