0

B.javaクラスをオブジェクトとして使用するA.javaクラスがあります。

A.javaクラスをコンパイルすると、JavaコンパイラがB.javaオブジェクトをまったく参照できないため、コンパイルエラーメッセージがスローされます。だから、ここに私の質問があります:

別のB.javaクラスが含まれている場合、A.javaクラスをコンパイルするにはどうすればよいですか?

Eclipseは優れたツールですが、Java Bean用にJavaファイルをコンパイルする必要がある場合、このツールは役に立ちません。

4

4 に答える 4

6

A.javaをコンパイルしようとしている方法、またはB.javaをすでにコンパイルしたかどうかについては説明していません。どちらもまだコンパイルしていない場合は、両方を一緒にコンパイルしてください。

javac -d bin path/to/A.java path/to/B.java

すでにBをコンパイルしている場合は、クラスパスが正しいことを確認する必要があります。

javac -d bin -cp path/to/Broot path/to/A.java

クラスパス値は、B.classファイル自体であってはならず、B.classを含むディレクトリであってはならず、出力階層のルートであってはならないことに注意してください。したがって、Bがパッケージfoo.barにあり、B.classがディレクトリ/ x / y / z / foo / barにある場合は、次のように記述します。

javac -d bin -cp /x/y/z path/to/A.java
于 2012-04-12T06:39:24.327 に答える
0

エラーは、クラスBがまだコンパイルされていないことのようです。クラスBにエラーがないかチェックし、Bをコンパイルしてから、Aに進みますか?

于 2012-04-12T06:39:01.133 に答える
0

クラスをコンパイルするときは、依存関係(jarファイル)と現在のディレクトリがクラスパスにあることを確認してください。

于 2012-04-12T06:39:31.133 に答える
0

これは質問の複製です。JAVACを使用して複数のファイルとディレクトリでプロジェクトをコンパイルできますか?

オブジェクトBのタイプに応じて、それをクラスパスに追加する必要があります。jarファイル(ライブラリ)にある場合は、コマンドラインで-cオプションを使用する必要があります。他のソースファイルを追加するには、-sオプションを使用します。

より大きなプロジェクトを開始すると、コマンドラインでこれを手動で実行し続けるのは困難になります。Eclipseのような適切なIDEを見てください。それはあなたのためにすべてを行います。プロパティでクラスパスを一度設定するだけで、いくつかのメニューオプションをクリックするだけでコンパイルできます(または自動ビルドを設定するか、ショートカットキーを使用します)。

于 2012-04-12T06:41:52.873 に答える