web-dev-qa-db-ja.com

Javaのパスとクラスパスの違いは何ですか?

なぜPathとClassPathが必要なのですか? EclipseのようなIDEを使用する場合でも、パスを追加する必要がありますか?

8
Junaid

pathは、バイナリファイルパスを通知するための開発者とオペレーティングシステムの間のメディエーターです。Classpathは、ソースファイルで使用されるライブラリファイルパスを通知するための開発者とコンパイラの間のメディエーターです。

6
Pravas Kumar

パスはjreの場所、つまりJava jvmや必要なライブラリなどのバイナリファイルを指します。クラスパスは、jvmがそれらを見つけてロードできるように開発したクラスを指します。製品を実行します。

したがって、本質的には、Javaを見つけるためのパスが必要です。これにより、クラスを見つけてクラスパスから実行できるようになります。

3
triadiktyo

Javaプログラムをコンパイルして実行するために、[〜#〜] path [〜#〜]および[〜#〜] classpath [〜#〜]を設定する必要はありませんEclipseのようにIDEを使用しているとき。
これらの環境変数は、[〜#〜] cmd [〜#〜]を使用してコンパイルおよび実行 Javaプログラムに必要です。

例-:これは、[〜#〜] path [〜#〜]および[〜#〜] classpath [〜#〜]を理解するためのコンソールのスクリーンショットです。 早く

enter image description here

説明-:

プログラムのコンパイル- JavaプログラムファイルDemo.JavaD:\Programs\Classesに保存しました。ここで、CMDでD:\Programs\Classesを指定して、javac Demo.Javaコマンドを実行しました。システムはjavac[〜#〜] path [〜#〜]変数の助けを借りて理解します。 Java [〜#〜] path [〜#〜]Demo.Javaに正しく設定されているため、プログラム%Java_HOME%\binは正常にコンパイルされます。

プログラム(クラスファイル)の実行-クラスファイルは同じ場所D:\Programs\Classesに生成されているため、コマンドを入力してこのクラスファイルを実行できますJava Demo 2番目に表示されますスクリーンショットの行。 [〜#〜] classpath [〜#〜]変数にD:\Programs\Classesパスがあるため、システムは[〜#〜] classpath [〜#〜]の助けを借りてクラスファイルを検索します。

CMDでクラスファイルの場所を指定して実行する必要はありません。 システムはJavaコマンドを[〜#〜] path [〜#〜]変数の助けを借りて理解し、[〜#〜] classpathを使用してそのクラスを見つけます[〜#〜]それを実行する変数。

2
Ashish Kumar

パスとクラスパスはどちらも、オペレーティングシステムレベルの環境変数です。パスは、システムが実行可能ファイル(.exe)ファイルを見つけることができる場所を定義するために使用され、クラスパスは.classファイルの場所を指定するために使用されます。

1

path:binファイル(バイナリ実行可能ファイル)の場所の例-Java.exe、javac.exe

classPath:.classファイルの場所です(これは、Javaソースファイルをコンパイルした後に作成されます)

1

PATHとCLASSPATHの主な違いは、PATHが環境変数であり、「Java」や「javac」コマンドなどのJDKバイナリを検索するために使用されることですJavaプログラムとコンパイルJavaソースファイル。一方、CLASSPATHは、システムまたはアプリケーションのクラスローダーが環境変数を使用して、.classファイルに保存されているコンパイルJavaバイトコードを検索してロードします。

詳細情報: http://www.Java67.com/2012/08/what-is-path-and-classpath-in-Java-difference.html

0
Yash P Shah

パスとクラスパスの違い

Javaでのパスとクラスパスの違い

パスが使用するように設定されているJavaツールがJavaに含まれているJava Java、javac、javapなどのプログラム。コードのコンパイルにはjavacが使用され、クラスパスが使用されます。たとえば、プログラムの定義済みクラスでは、プログラムでスキャナークラスを使用します。これにはクラスパスを設定する必要があります。

http://www.tutorial4us.com/Java/difference-between-path-and-classpath

0
hitesh

PATHは、バイナリの場所を指定する環境変数です。
例:JDKまたはJREのbinディレクトリパスを追加して、絶対パスを指定せずにディレクトリの下のすべてのバイナリに直接アクセスできるようにします。

CLASSPATHは、Javaアプリケーションのパスであり、コンパイルしたクラスを使用できます。

0
Saravana