我使用Ant以編程方式編譯一組Java文件(使用javac任務)。在Java程序的執行,我得到的錯誤:使用Ant API編譯Java文件時出錯 - 「錯誤啓動現代編譯器」
錯誤啓動現代編譯
然而,當我從命令提示符,而不是通過程序運行相同的build.xml,編譯發生不任何問題。
另一個問題(http://stackoverflow.com/questions/2577790/error-starting-modern-compiler)似乎表明,這個錯誤是因爲當Ant試圖從已經加載的那個版本的javac中使用不同版本的javac進入JVM。但是,我沒有指定要使用的任何特定編譯器,並且文檔(http://ant.apache.org/manual/index.html)似乎表明它應該理想地使用加載到JVM中的javac。
該程序在一些機器上工作,但在其他機器上失敗,機器之間唯一明顯的區別是環境變量。該程序需要在幾臺不同的機器上執行,每臺機器的環境變量略有不同。所以改變這些變量不是一個可接受的解決方案
我想我正在尋找的是一些指定Ant的方法,對於javac任務,使用當前JVM中可用的編譯器。