12

こんにちは私は3つのJavaファイルを持っています

a.java  
b.java  
c.java  

を使用して、aとbの両方の.classファイルを生成することができました

javac example/a.java  
javac example/b.java  

しかし、c.javaに対して同じことを行うと、エラーエラーが発生します:シンボルbとcが見つかりません

この問題をどのように解決できるかについての提案はありますか?

すべてのJavaファイルは同じフォルダにあります

4

2 に答える 2

20

class をコンパイルしようabするときは、クラスパスにクラスが必要ですc。これにより、コンパイラはそれらが存在することを確認したり、それらが持っているメソッドを把握したりできます。

javacパッケージ名とクラスパスにかなり敏感です。最も簡単な方法は、このように 3 つすべてを同時にコンパイルすることjavac example/a.java example/b.java example/c.javaです。

example の親ディレクトリに移動すると (これを と呼びましょうsrc)、次のコマンドを実行できます。

javac -cp src src/example/c.java

このようにしなければならない理由は、クラスのパッケージが としてリストされているためexampleです。あなたのパッケージ名のために、はそのクラスパスでディレクトリをjavac探しています。examplea.classb.class

于 2012-05-07T00:43:27.823 に答える
2

おそらく、example/実行時にディレクトリにいないと思われますjavac。試す

javac -cp example c.java

またはcd、そのディレクトリに入れます。c.java 依存するクラスのクラスパスは自動的に解決されません。

于 2012-05-07T00:41:58.897 に答える