2017-05-30 22 views
0

環境変数でのみアプリケーションを実行するためにjavaのパスを設定する必要がある理由がわからないのはなぜですか?疑問を明確にしてください。環境変数はどういう意味ですか?環境変数でJDKのパスとCLASSPATHを設定する必要があるのはなぜですか?

+1

'CLASSPATH'環境変数を使用することはお勧めしません。 'java'コマンドの代わりに' -cp'オプションを使います。 –

+0

"環境変数"は、オペレーティングシステムシェルの標準用語であり、すでにおなじみのはずです。好きな検索エンジンやライブラリカードを使用していない場合は使用してください。 –

答えて

0

実際にはCLASSPATHは慣例に過ぎません。パスを知っているクラスだけをロードすることができます。 CLASSPATHを使用しない場合は、他の方法でパス(例:パラメータ、プロパティなど)を取得し、クラスを手動でロードできます。

しかし、CLASSPATHは、分離された方法で物事を行う方法です。

Dockerのようなコンテナの普及に伴い、CLASSPATHを使用したときに発生する可能性のある、クラスの重複のような問題は発生しません。

+0

CLASSPATH環境変数を設定することは通常最適ではありません。 –

+0

はい、私はあなたに完全に同意します。しかし、IDEのような多くのプログラムがこのリソースを使用しています。 –

+0

すべてのJavaプログラムは、上書きされない限り、CLASSPATH環境変数を尊重します。だけではなく、すべて。 –

0

PATHまたはCLASSPATHを設定する必要はありません。

PATHを設定すると、javaコマンドを実行しやすくなります。完全修飾名を使用していつでも実行できます。この場合、PATHは必要ありません。

CLASSPATHを設定する必要はありませんが、-cpオプションを使用するよりも簡単な場合があります。 -jarを使用して実行すると、CLASSPATHはまったく使用されません。-jarを使用しないと、CLASSPATHはデフォルトで現在のディレクトリになります。したがって、コードがある場合(パッケージ階層がルートになっている場合)いずれかが必要でした。

+1

"だからあなたのコードがあれば" => "そうすれば、あなたのパッケージ階層がそこに根付いているなら" –

関連する問題