多くのJavaベースのアプリケーションでは、JAVA_HOME環境変数を設定する必要があります。この変数の目的は何ですか?
多くのJavaベースのアプリケーションでは、JAVA_HOME環境変数を設定する必要があります。この変数の目的は何ですか?
回答:
環境変数は、ドライブ、パス、ファイル名などの情報を含む文字列です。
JAVA_HOME環境変数の Javaランタイム環境(JRE)がコンピュータにインストールされているディレクトリを指します。
目的は、Javaがインストールされている場所を示すことです。$JAVA_HOME/bin/java
Javaランタイムを実行する必要があります。
Javaプログラムを実行する場合、最初にJVMを起動する必要があります。通常、これは実行可能ファイルを実行することによって行われます。Windowsでは、これはjava.exeです。たとえば、完全なパスを指定するなど、さまざまな方法でそれを取得できます。
C:\somedir\bin\java.exe
またはそれをあなたのPATHに持っているかもしれません。
コマンドライン引数として、プログラムであるクラスファイルまたはクラスファイルを含むJARファイルを指定します。しかし、それだけでは不十分です。java.exe自体には、他のさまざまなリソース、特にすべてのJavaライブラリが必要です。環境変数JAVA_HOMEを設定することにより、JRE、つまりこれらのすべてのランタイムリソースを見つける場所を指定します。実行する特定のJavaがJAVA_HOMEの設定と一致していることを確認する必要があります。
(たとえば、JSPをコンパイルするために)自身のコピーを生成するJAVA_HOME\bin
場合java.exe
に正しいバージョンを取得するように、パスの早い段階で配置する必要がある場合もあります。
JAVA_HOME
複数のJavaインストールのいずれかを実行できます。/usr/lib/jvm/java-1.8.0/bin/java
最初にPATH を使用している場合でもJAVA_HOME=/usr/lib/jvm/java-1.5.0
、環境設定の問題として、プログラムを実行するためのデフォルトの「java」を代わりに使用できるようにしておくと便利です。これにより、プログラマーは、通常のシステムの場所にインストールされていなくても、必要なJavaを使用し、その代替バージョンとの互換性をテストまたは提供できます。また、Java自体のメジャーバージョンアップデートなど、インストールされている別のプログラムによってPATHでリセットされることに対して脆弱ではありません。