1

这是我的目录结构。

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

在文件夹 a,b,c 中有一个文件 person.java (它是同一个文件,只是一行修改。

现在,在我的外壳上,我在我的 /user/ 目录上,我尝试做

   javac */person.java

外壳返回以下错误,

person.java:14:重复类:人

有什么可以解决的吗?

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

我会选择小的 shell 脚本:

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

第一行在子目录中找到所有文件 person.java,第二行编译该文件。

于 2008-09-26T08:55:16.537 回答