这是我的目录结构。
/user/a /user/b /user/b
在文件夹 a,b,c 中有一个文件 person.java (它是同一个文件,只是一行修改。
现在,在我的外壳上,我在我的 /user/ 目录上,我尝试做
javac */person.java
外壳返回以下错误,
person.java:14:重复类:人
有什么可以解决的吗?
我认为这里的问题可能是,javac 试图一次性编译所有内容,这自然会导致重复的类定义。
解决此问题的一种简单方法是
find . -name '*.java' -exec javac {} \;
编辑:
或者更准确地说find . -name 'person.java' -maxdepth 2 -exec javac {} \;
我会选择小的 shell 脚本:
for f in */person.java; do
javac $file
done
第一行在子目录中找到所有文件 person.java,第二行编译该文件。