1

非常に基本的な質問があります。PATH 変数の末尾にセミコロンを追加する必要があるのはなぜですか。また、JAVA_HOME 変数にセミコロンを追加しないのはなぜですか。

私はたくさんの本やフォーラムを読みました:

  1. PATH 変数で異なるパスを分離するには? または、システムまたは JRE に、それ以降は調べないように指示します。

  2. JAVA_HOME 変数は、将来の開発で JRE が JDBC ドライバーなどのより多くのファイルや拡張機能を検索できるようにするためのものです。

4

5 に答える 5

5

JAVA_HOME は、単一のディレクトリを指定するために使用されます。PATH は複数のディレクトリを指定するため、セミコロンを使用してそれらのディレクトリを区切ります。

于 2011-04-11T14:39:47.510 に答える
3

JAVA_HOME は、JDK または JRE インストールの場所です。多くの Java 関連のライブラリとファイルがここに格納されています。これは一連の場所ではなく単一の場所であるため、「;」を使用する必要はありません。離れた場所へ。

PATH および CLASSPATH 変数は複数の場所を指定するため、「;」を使用します。エントリを区切ります。

ご了承ください ';' Windows に固有です。

于 2011-04-11T14:40:11.693 に答える
1

PATH は、オペレーティング システム固有のアイデアです。「コマンドを入力するときに、これらのパスも確認してください」という意味です。通常、現在のディレクトリは、デフォルトで検索されたパス上にあります。少し考えてみれば、PATH の概念がなかった場合にコマンド ラインを使用するのがどれほど面倒なことか容易に想像できます。

したがって、PATH (複数のディレクトリを含む) を指定すると、エントリを分離する方法が必要になります。各オペレーティング システムは任意の文字を使用できますが、最も一般的な 2 つはセミコロン (Windows の場合) とコロン (Mac OS X などのほとんどのシステム Unix の場合) です。

JAVA_HOME は、好みの Java インストールが配置されている場所を指すだけです。値は 1 つなので、エントリを区切る文字は必要ありません。

余談ですが、Java アプリがロードしているすべてのライブラリ (JAR) とリソース (プロパティ ファイルなど) のパスである CLASSPATH にも遭遇します。CLASSPATH は、PATH と同じ形式/文字を使用します。

演習として、ループして System.getProperties() と System.getenv() の値を出力するコードを少し書いてみてください。小さな構成要素をすべて見るのに最適な方法です。

于 2011-04-11T14:58:22.760 に答える
0

区切り文字はセミコロンです。パス内の複数のアイテムを区切ります。

JAVA_HOME は 1 つの場所 (JDK/JRE ディレクトリ) のみを指します。

PATH (または CLASSPATH) には、多くの場所を含めることができます。

そうは言っても、パスの最後にセミコロンを置いても何も起こらず、無視されます。

(これはセミコロンではなく *nix のコロンであることに注意してください)

于 2011-04-11T14:41:10.370 に答える
0

JAVA_HOME は JDK/JRE のルート ディレクトリです。私のシステムでは、JDK_HOME は C:\program files\java\jdk1.6.0_24 です。

コマンド ライン ツール (java、javac、jar など) は bin ディレクトリにあるため、%JAVA_HOME% 自体ではなく、%JAVA_HOME%\bin を PATH に配置します...

于 2011-04-11T14:44:50.743 に答える