web-dev-qa-db-ja.com

Java_HOME、M2、およびM2_HOME変数の目的

何が必要ですかJava_HOMEM2、およびM2_HOMEそこに行くべきパスがすでにPATH変数に追加されている場合の環境変数は?

23
Liza Tjaica

_Java_HOME_は、使用するJavaがインストールされているディレクトリ。この変数はさまざまなスクリプトでよく使用されるため、定義することをお勧めします。_Java_HOME_それ自体をPATHに追加しないでください具体的なパスを指定せずにこのディレクトリからコマンドを実行できるようにするには、_Java_HOME/bin_を追加する必要があります。

_M2_HOME_はMavenのホームです。スクリプトmvn(またはWindowsでは_mvn.bat_)によって使用されます。

8
AlexR

ホームパス(Java_HOMEM2_HOME)は必須ではありませんが、持っておくと良いでしょう。利点の1つは次のとおりです。

JavaまたはMavenの次のバージョンをインストールするときに、変数PATHを検索するのではなく、1か所で変更を加えるのに役立ちます。たとえば、Java_HOME環境変数は、Java Development Kit 1.8。にアップグレードするときに変更する必要がある1つの場所です。

Windows environment variable window

7
prashantsunkari

環境変数の概念を理解していないと思います。はじめに、こちらをお読みください-> http://en.wikipedia.org/wiki/Environment_variable

PATHは、多くのオペレーティングシステム(またはシェル)でよく知られている1つの環境変数です。また、フルパスなしでプログラム名を入力すると、オペレーティングシステム(またはシェル)はPATH変数で指定されたすべてのディレクトリを検索しようとします。

他のプログラムは、環境に対して異なる依存関係を持っています。それらのいくつかは、適切に実行するために必要な環境変数を指定します。

Java_HOMEは、多くのJavaベースのアプリケーションでJava Runtime Environment(JRE)インストールの場所を定義するために使用されます。

M2_HOMEはMavenによって使用され、再びMavenインストールの場所をプログラムに伝えます。

PATHは、JavaまたはMavenとは関係のない多くのディレクトリを含む可能性があるため、この目的には適していません。

PATH変数は、Windows上のアプリケーション(実行可能ファイル、およびスクリプト)およびDLLを見つけるために使用されます。 「mvn」と入力すると、その名前の実行可能ファイルまたはスクリプトを見つけるためにPATHが使用されます。ただし、スクリプトが特定の場所で見つかったからといって、アプリケーションがそのディレクトリにインストールされることを意味するわけではありません。説明が最も簡単な例は、UNIXに存在する例です。/usr/local/bin/mvnからmavenが実際にインストールされている場所へのシンボリックリンクがある場合があります。他の例/理由を示すことができます。

環境変数は、アプリケーションが必要とする他のリソースを探す場所を知るためにアプリケーションによって使用されます。

たとえば、Java_HOMEは、JDKを見つけることができるディレクトリを指します。 Javaが実行されると、そのアプリケーションは、Java_HOMEディレクトリーに関連する他のリソースを見つけることができることを認識します。

これにより、C:\ Windows\System32\Javaなどのアプリケーションは1つのディレクトリに存在できますが、JDKインストールは別の場所に配置できます。

同じことが、MAVENが「インストール」(または解凍)される最上位ディレクトリを指すM2_HOMEディレクトリにも適用されます。

M2ディレクトリは、必要なMavenリポジトリの場所をMavenアプリケーション(mvn)に指定します。デフォルト(UNIXの場合)は$ HOME/.m2ですが、M2環境変数を使用して別の場所を指定でき、mavenはデフォルトの代わりにその場所を使用できるように、そこにリポジトリが必要ない場合があります。

0
PatS