1

これが私のディレクトリ構造です。

/user/a /user/b /user/b

フォルダー a、b、c 内に person.java ファイルがあります (これは同じファイルで、1 行の変更のみです。

今、私のシェルでは、私の/ user /ディレクトリにいて、やろうとしています

   javac */person.java

シェルは次のエラーを返します。

person.java:14: クラスが重複しています: person

これを解決するものはありますか?

4

2 に答える 2

8

ここでの問題は、 javac がすべてを一度にコンパイルしようとするため、必然的にクラス定義が重複することにあると思います。

これを解決する簡単な方法は

find . -name '*.java' -exec javac {} \;

編集:

またはより正確に言うとfind . -name 'person.java' -maxdepth 2 -exec javac {} \;

于 2008-09-26T08:42:04.587 に答える
1

私は小さなシェルスクリプトに行きます:

for f in */person.java; do
  javac $file
done

1 行目でサブディレクトリ内のすべてのファイル person.java を検索し、2 行目でファイルをコンパイルします。

于 2008-09-26T08:55:16.537 に答える