web-dev-qa-db-ja.com

Java_HOME環境変数が存在する理由は何ですか?

多くのJavaベースのアプリケーションはJava_HOME env変数を設定する必要があります。この変数の目的は何ですか?

86
user496949

環境変数は、ドライブ、パス、ファイル名などの情報を含む文字列です。

Java_HOME環境変数は、Javaランタイム環境(JRE)がコンピューターにインストールされているディレクトリを指します。

22
kamaci

目的は、Javaがインストールされている場所を指すことです。$Java_HOME/bin/Javaは、Javaランタイムを実行する必要があります。

18
Haakon

Javaプログラムを実行するとき、最初にJVMを起動する必要があります。通常、これはWindowsで実行可能ファイルを実行することで行われます。これはJava.exeです。それは多くの方法で例えばフルパスを与えるだけです:

C:\somedir\bin\Java.exe

またはあなたのPATHにそれがあるかもしれません。

コマンドライン引数として、プログラムであるクラスファイルを含むクラスファイルまたはJarファイルを指定します。しかし、それだけでは十分ではありません。Java.exe自体には、さまざまなリソースが必要です。特に、Javaライブラリ。すべてのライブラリ。環境変数Java_HOMEを設定することにより、JRE、実行する特定のJavaがJava_HOMEの設定と一致することを確認する必要があります。

Java_HOME\binパスの早い段階で、Java.exeは自身のコピーを生成し(JSPをコンパイルするためなど)、適切なバージョンを選択します。

7
djna

Java_HOME環境変数です

別のオペレーティングシステムでセットアップする必要があります。以下のリンクをご覧ください。

詳細については here も参照してください。

5
sgokhales

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。

3