2010-03-25 51 views
2

我正在處理一個大型的ant構建,即當前內存不足。我讀過的一種方法可以幫助緩解此問題,即使用javac fork =「true」 在單獨的jvm中運行javac。在IBM JDK中使用javac fork屬性

我的問題是,我需要用IBM JDK編譯項目(這不是JDK引用的JAVA_HOME,我寧願不要這樣做)。我嘗試將Ant的javac的可執行屬性設置爲IBM的javac的路徑,但沒有喜悅(該項目仍然無法編譯)。可執行屬性狀態的Ant文檔:

fork =「yes」的情況下使用的javac可執行文件的完整路徑。缺省爲當前運行Ant的Java版本的編譯器。如果fork =「no」,則忽略。 從Ant 1.6開始,當使用jikes,jvc,gcj或sj時,此屬性也可用於指定可執行文件的路徑。

有沒有人有任何想法?

謝謝 -

+0

你有沒有fork的IBM JDK爲javac工作?它是否使用build.compiler = extJavac的設置? – JoseK 2010-03-26 09:17:18

+0

此外,任何錯誤消息都會有所幫助。 – 2011-02-06 23:12:12

+0

我有一個類似的問題 - 更一般地「如何在build.xml中爲Ant設置JDK路徑?」 (你是否想要像那樣重新翻譯? - 可能會獲得更多的點擊)。無論如何,你在此期間找到答案了嗎?謝謝 – inger 2011-02-13 16:48:32

回答

0

我用一個ANT構建編譯在1.7一組類和另一組的1.6類和它工作正常。

1.7和1.6都是IBM JDK的。 JAVA_HOME指向1.7 JDK & ANT的版本是1.9

下面是使用使用JAVA_HOME

`<javac srcdir="${LOCAL_SOURCE_PATH}/temp" debug="true" deprecation="false" fork="true" memoryInitialSize="1024M" memoryMaximumSize="1500M" verbose="${verbose}">` 

1.6編譯使用javac標籤可執行屬性

1.7編譯的ANT標籤

`<javac srcdir="${LOCAL_SOURCE_PATH}/branchtmp" fork="true" executable="${JAVA6_HOME}/bin/javac" compiler="javac1.6" debug="true" deprecation="false"memoryInitialSize="1024M" verbose="${verbose}">` 

希望這可以幫助。