linux编译多个java文件

时间:2008-09-26 08:34:34

标签: linux shell javac

这是我的目录结构。

/用户/一 /用户/ B /用户/ B

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

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

   javac */person.java

shell返回以下错误,

person.java:14:重复的类:person

有什么可以解决的吗?

2 个答案:

答案 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,第二行编译文件。