這裏是我的目錄結構。linux編譯多個java文件
/用戶/一個 /用戶/ B /用戶/ B
文件夾內,B,C有一個文件person.java(它是同一個文件,只是一個行修改。
現在,在我的殼,IM在我的/用戶/目錄下,我嘗試做
javac */person.java
外殼返回以下錯誤,
person.java:14 :重複類:人
有什麼可以解決這個問題嗎?
這裏是我的目錄結構。linux編譯多個java文件
/用戶/一個 /用戶/ B /用戶/ B
文件夾內,B,C有一個文件person.java(它是同一個文件,只是一個行修改。
現在,在我的殼,IM在我的/用戶/目錄下,我嘗試做
javac */person.java
外殼返回以下錯誤,
person.java:14 :重複類:人
有什麼可以解決這個問題嗎?
我認爲這裏的問題可能是,javac試圖一次性編譯所有東西,這自然會導致重複的類定義。
一個簡單的方法來解決,這將是
find . -name '*.java' -exec javac {} \;
編輯:
或者更精確地說find . -name 'person.java' -maxdepth 2 -exec javac {} \;
這裏您編譯所有以.java結尾的文件,不僅是person.java文件。你也不會限制到一個子目錄。 – PierreBdR 2008-09-26 08:59:05
我會去小的shell腳本:
for f in */person.java; do
javac $file
done
第一行找到所有文件person.java在一個子目錄下,第二行編譯該文件。
在一個外殼,有沒有一個好的輸入上面的循環「在」控制檯, 所以我沒有創建一個單獨的.sh文件? – freshWoWer 2008-09-27 19:32:54
這些類是否完全相同,頂部有相同的包裝定義? – 2008-09-26 08:48:45