根據my previous question on programmers.SE的建議,我將當前項目分爲三個子目錄(swing,common和android),並在每個子目錄中創建單獨的Ant腳本。現在,我輕鬆地創建了NetBeans項目,並且能夠設置合適的依賴項來編譯Swing應用程序。然後,當我去使用「普通」項目中的類時,我意識到我需要爲Android構建過程創建另一個Ant腳本。使用Ant從相同的代碼庫構建Swing和Android應用程序
所以現在我有四個Ant腳本用於構建我的項目的不同部分,以及每個項目的單獨的src,test和其他支持目錄。我遇到的第一個問題是NetBeans和我的「android」項目的ant腳本都想在我的「common」項目中使用「build.xml」來執行各種構建任務,其中一些包含名稱衝突。我決定將所有這些項目合併到一個包含src,test等子目錄的目錄中。源代碼已經被組織到每個項目的單獨的包中,我認爲這會使它更簡單,因爲我可以爲Swing和Android構建包含單獨的Ant構建腳本和單獨的tragets。
現在我遇到的問題是,當我嘗試構建「android」項目時,它也想構建所有的Swing類。這帶來了很多編譯器錯誤。我甚至修改試圖從compileing排除bbct.swing
包層次的<javac>
任務:
<javac encoding="${java.encoding}"
source="${java.source}" target="${java.target}"
debug="true" extdirs="" includeantruntime="false"
destdir="${out.classes.absolute.dir}"
bootclasspathref="project.target.class.path"
verbose="${verbose}"
classpathref="project.javac.classpath"
fork="${need.javac.fork}"
excludes="${source.dir}/bbct/swing/**"> <------- here
<src path="${source.absolute.dir}" />
<src path="${gen.absolute.dir}" />
<compilerarg line="${java.compilerargs}" />
</javac>
螞蟻仍然堅持我的編譯類,其使用Swing,雖然。
所以我有兩個問題:
什麼是組織這個項目的最好方法是什麼?你會建議我嘗試完成的其中一個還是其他的?
如果我堅持使用最新的解決方案,我該如何讓
javac
忽略項目中基於Swing的源文件?