1

私のプログラムは、他のクラスを拡張するクラスで構成されています。問題は、それらをcmdでコンパイルしようとすると、システムが「シンボルが見つかりません」と表示されることです。同様の問題について議論している一部のサイトでは、CLASSPATH にソース フォルダーを含めることについて言及しています。彼らが言ったようにしましたが、それでも同じエラーが発生します。ただし、Eclipse では問題なく動作します。理由はありますか?

4

1 に答える 1

1

最初に最上位クラスをコンパイルするようにしてください。他のクラスを拡張するクラスをコンパイルしようとして、そのクラスのコンパイル済み.classファイルがない場合、そのエラーが発生します。

package pkg1;
class A { }

package pkg2;
import pkg1.A;
class B extends A { }

上記のコードの場合、最初のコード.javaを含むファイルをコンパイルして、コンパイル済みのファイルを取得する必要があります。また、クラスパスにあなたを含むパスを設定します。class A.javaclass Bclass files

Eclipse では、クラスを保存すると自動的にコンパイルされるため、機能します。

ノート: -

いくつかのパッケージの下にクラスがある場合は、次のコマンドを使用して Java ファイルをコンパイルします: - javac -d . A.java. これにより、パッケージ名のフォルダーが作成され、クラス ファイルがそのフォルダーに自動的に配置されます。次に、クラスBはそれを見つけることができます

于 2012-10-30T13:02:30.047 に答える