macOS で JAVA_HOME を設定する

Zeeshan Afridi 2023年6月20日
  1. JAVA_HOME 環境変数とは
  2. macOS で JAVA_HOME 環境変数を設定する
  3. JAVA_HOME 環境変数のグローバル設定
  4. まとめ
macOS で JAVA_HOME を設定する

JAVA_HOME は、Java ランタイム環境 (JRE) または Java 開発キット (JDK) のインストール後に設定されるオプションのオペレーティング システム環境変数です。 JAVA_HOME 環境変数は、JDK または JRE のインストール場所を示します。

Windows、Ubuntu、Linux、Mac、Android など、Java インストールを含むすべてのオペレーティング システムには、この変数を設定する必要があります。 しかし、この記事では、macOS で JAVA_HOME 環境変数を設定する方法について説明します。

JAVA_HOME 環境変数を定義する新しい方法により、システムに現在インストールされている Java バージョンを動的に認識して採用し、多くの Java バージョンがインストールされている場合はそれらを切り替えることができます。

この記事では、macOS で JAVA_HOME 環境変数を設定するための簡単な手順を説明します。

JAVA_HOME 環境変数とは

ローカルにインストールされた Java ランタイムは、JAVA_HOME 環境変数を使用しません。 代わりに、Java ランタイムを必要とする他のデスクトップ ソフトウェアは、JAVA_HOME 変数のオペレーティング システムにランタイムの場所を特定するように要求します。

JDK または JRE インストールの場所が特定されると、これらのアプリケーションは Java ベースのプロセスを起動し、Java 仮想マシンを起動し、Java アーカイブ ユーティリティや Java コンパイラなどのコマンドライン ツールを使用できます。これらはすべて内部に含まれています。 Java インストールの bin ディレクトリ。

macOS で JAVA_HOME 環境変数を設定する

macOS で JAVA_HOME 環境変数を設定するには、まず、インストールされている macOS の Java バージョンを特定する必要があります。 インストールされている macOS 10.5 以降の Java バージョンを確認するための便利なツールがあります。

たとえば、Mac にインストールされている最新の Java バージョンを印刷するには、ターミナル ウィンドウを開いて次のコマンドを入力します。

/usr/libexec/java_home

このコマンドは、ユーザーの Java プリファレンスにリストされている最新の Java バージョンを動的に見つけます。

次に、~/.bash_profile を開き、任意のテキスト エディターに次のコードを挿入します。

export JAVA_HOME=$(/usr/libexec/java_home)

キーボードの ESC キーを使用してこのファイルを保存し、:wq と入力します。 これにより、ファイルが保存されて終了します。

ドキュメントを保存して終了します。 ターミナル ウィンドウ タイプで、変更をすぐに .profile ファイルに適用します。

source ~/.profile

ターミナル ウィンドウで、次のように入力します。

java -version

Mac にインストールされている現在の Java バージョンが出力されます。

このステップが完了したら、以下にリストされているコマンドを実行する必要があり、JAVA_HOME 環境変数を使用する準備が整います。

source ~/.bash_profile OR source ~/.zshrc

上記の手順を実行した後、次のコマンドを実行して、コンピューターの JAVA_HOME 環境変数が正しく構成されていることを確認します。

echo $JAVA_HOME

コマンドの結果は、次の例のように表示されます。 これは、JDK のインストール場所です。

/Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home

JAVA_HOME と macOS 11 Big Sur

zsh は macOS 10.15 Catalina のデフォルトのターミナル シェルであり、それ以降は /.zshenv または /.zshrcJAVA_HOME 環境変数を設定できます。

ターミナルで ~/.zshenv を開き、次のように入力します。

% nano ~/.zshenv

次に、~/.zshenv に次の行を追加します。

export JAVA_HOME=$(/usr/libexec/java_home)

その後、ファイルを入手して JAVA_HOME を出力すれば完了です。

ターミナルで、次のように入力します。

% source ~/.zshenv
% echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home

JAVA_HOME およびそれ以前の macOS X

関数 /usr/libexec/java_home は以前のバージョンの macOS X には存在しないため、JAVA_HOME を実際のパスに設定する必要があります。

Open the ~/.bash_profile

ターミナルで、次のように入力します。

% nano ~/.bash_profile

~/.bash_profile に次の行を挿入します。

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

次に、ファイルを入手して JAVA_HOME を出力します。

% source ~/.bash_profile

% echo $JAVA_HOME
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

JAVA_HOME 環境変数のグローバル設定

上記のコマンドは、単一ユーザーの JAVA_HOME 環境変数を確立します。 しかし、システムを使用するすべてのユーザーに対してこの変数をグローバルに設定したい場合はどうなるでしょうか?

JAVA_HOME 環境変数を 1 人のユーザーに設定する手順は同じですが、代わりに /etc/profile または /etc/environment ファイルを使用します。

/etc/environment を開き、以下を挿入します。

JAVA_HOME=/path/to/java_installation

/etc/environment は、スクリプトではなく代入式のコレクションであることに注意してください (エクスポートが使用されないのはそのためです)。 ログインすると、このファイルが読み込まれます。

/etc/profile を使用して JAVA_HOME を設定するには、次のようにファイルに挿入します。

export JAVA_HOME=/path/to/java_installation

変数をロードするには、source コマンドを実行します。

source /etc/profile

これで、JAVA_HOME 変数の値を確認できます。

echo $JAVA_HOME

結果は、JDK インストールへのパスになります。

/usr/lib/jvm/java-8-oracle

まとめ

多くの Java ベースのツール、アプリ、およびライブラリが依存しているため、すべてのプログラマーは、Java プログラミングを開始する前に JAVA_HOME 環境変数を設定できる必要があります。

たとえば、Eclipse、NetBeans、Tomcat などの開発ツールを実行するには、これらのプログラムが機能するために JDK または JRE が必要なため、オペレーティング システムの PATH 環境変数を調整する必要があります。

この記事では、シングルユーザー用に JAVA_HOME 環境変数を設定する方法のほぼすべての領域をカバーし、そのグローバル設定についても説明しました。 これらの簡単な手順に従うと、macOS で JAVA_HOME 環境変数をすばやく設定できます。

著者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn