質問

ここに私のディレクトリ構造があります。

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

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

今、私のシェルで、/ user /ディレクトリでimを実行します。

   javac */person.java

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

person.java:14:クラスの重複:person

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

役に立ちましたか?

解決

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

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

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

編集:

またはより正確に findする。 -name 'person.java' -maxdepth 2 -exec javac {} \;

他のヒント

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top