我試圖使用以下Ant任務乾淨 目錄(無增量編譯)彙編從不同的包超過100個Java類:Ant的<javac>任務拋出StackOverflowException
<target name="-main-src-depend">
<depend srcdir="${src.dir}"
destdir="${bin.dir}"
cache="${cache.dir}"
closure="true"/>
</target>
<target name="compile" depends="-main-src-depend"
description="Compiles the project.">
<echo>Compiling</echo>
<javac target="${javac.target}"
source="${javac.source}"
debug="${javac.debug}"
srcdir="${src.dir}"
destdir="${bin.dir}">
<classpath>
<path refid="runtime.classpath"/>
<path refid="compile.classpath"/>
</classpath>
</javac>
</target>
但是,我第一次運行編譯任務我總是得到一個StackOverflowException。如果我再次運行該任務,編譯器會執行增量構建,並且一切正常。這是不受歡迎的,因爲我們使用CruiseControl來進行自動日常構建,這會導致構建失敗失敗。
作爲一種快速而骯髒的解決方案,我創建了兩個獨立的任務,分別編譯項目的各個部分。我真的不認爲這個解決方案會成功,因爲將來會增加更多的類,並且我不希望每次達到「編譯限制」時都要增加新的編譯任務。
它拋出一個StackOverflowException - 所以你來責怪我們? :-) – kenj0418 2009-06-25 05:10:55
@ kenj0418 - 你的評論真的讓我撓我的腦袋,直到我看到笑臉。好的! – 2009-06-25 18:18:19