1

CustomerAddress、Customer、CustomerMain の 3 つのクラスがあります。

顧客は輸入明細書を持っています:

import org.abc.customers.CustomerAddress;

CustomerMain には import ステートメントがありますが、次のようになります。

import org.abc.customers.CustomerAddress; 
import org.abc.customers.Customer;

これらすべてのクラスのパッケージは

package org.abc.customer

現在、このプログラムはEclipseで正常に動作しますが、cmdプロンプトでコンパイルして実行しようとするとコンパイルされません

javac CustomerAddress.java 

正常にコンパイルされます

その場合、Customer は CustomerAddress に依存するため

私は与える

javac -cp . Customer.java

しかし、コンパイラは不平を言います

error cannot find symbol CustomerAddress
4

4 に答える 4

4
  1. コンパイルされたクラスは、パッケージ構造と一致するフォルダー構造内に存在する必要があります。たとえば、クラスcom.foo.bar.Aはフォルダー内に存在する必要がありますcom/foo/bar/
  2. このようなことは、ant や maven などの自動ビルド ツールを使用して行う方がはるかに簡単です。

コマンド ラインからビルドする場合は、最初に独立したクラスをコンパイルする必要があります。

javac -d com/abc/customers/ CustomerAddress.java Customer.java CustomerMain.java

クラスをコンパイルし、javac がクラスを解決できる場所に出力する必要があります。

于 2012-04-11T13:45:09.757 に答える
1

あなたが求めているものではないことはわかっていますが、Eclipseからの組み込みのエクスポートを使用することをお勧めしますか?

プロジェクトを右クリック->エクスポート->実行可能なjarファイル->起動構成が正しいことを確認->残りを選択->終了をクリック->jarを使用

于 2012-04-11T13:43:27.057 に答える
1

このようにコンパイルしてみましたか

javac *.java
于 2012-04-11T13:43:37.857 に答える
0

質問を投稿した結果かどうかはわかりませんが、パッケージ宣言には「s」がcustomerなく、インポートステートメントには「s」がありcustomers ます。ただし、同じパッケージ内では、import.

于 2012-04-11T14:20:04.063 に答える