/ CLASSPATHに関する基本/基本的な質問 - java、classpath

Java CLASSPATHに関する基本的な質問 - java、classpath

パッケージ "example"を作成し、その中に "Main"と "Helper"の2つのクラスがあるとします。

可能な限り単純なコンパイルで($ javac Main.java(Helper.java))サンプルパッケージを含むディレクトリにいる限り、コマンドラインで次のように入力して実行できます。

$java example.Main

質問:

  1. すでにプログラムを実行できる場合に、なぜCLASSPATHを設定したいのですか?私のマシン上のどのディレクトリからでも "$ java example.Main"と入力できると思いますが、よくわかりません。

  2. 「java -cp」と入力するとどうなりますか/ path / to / your / java / class / file Main "コマンドラインで?今、私はそこにすべての異なるクラスパスを含むファイルを描いています、そしてそのコマンドはそれに別のものを追加するだけです。そうですか?

  3. 使用の違いはありますかコマンドラインで「CLASSPATH = / path / to / your / java / class / file」および「java -cp / path / to / your / java / class / file Main」と入力します。 2番目のクラスが最後にクラスの名前(つまりMain)を持つのはどうしてですか。

回答:

回答№1は1
  1. うん、かなり。それはもちろんあなたがへの道を持っていると仮定します java あなたの PATH 変数
  2. -cpまたは-classpathは、それに含まれるものの前にオプション(文字列)を追加します。 CLASSPATH
  3. はい、違いがあります。を使う CLASSPATH あなたがあなた自身を設定する傾向があるのでしばしばより便利です CLASSPATH 一度。あれから、 java Main メインクラスを実行するのに十分です。あり java -cp /path/to/your/java/class/file Main あなたが入力する必要があります -cp /path/to/your/java/class/file 毎回。

言われていること、両方 CLASSPATH そして -cp または -classpath オプションには通常、プログラム自体のディレクトリではなく、プログラムが使用するJavaライブラリを含むディレクトリを指すエントリが含まれています。