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