将javac fork属性与IBM JDK一起使用

时间:2010-03-25 19:19:04

标签: ant javac

我有一个正在处理的大型ant构建,目前正在耗尽内存。我读过的一种方法可以帮助缓解这个问题,就是使用javac fork =“true” 在一个单独的jvm中运行javac。

我的问题是我需要使用IBM JDK编译项目(这不是JAVA_HOME引用的JDK,我宁愿不这样做)。我尝试将Ant的javac的可执行属性设置为IBM的javac的路径但没有快乐(项目仍然无法编译)。 Ant的可执行属性状态文档:

  

在fork =“yes”的情况下使用的javac可执行文件的完整路径。默认为当前运行Ant的Java版本的编译器。如果fork =“no”则忽略。   从Ant 1.6开始,当使用jikes,jvc,gcj或sj时,此属性也可用于指定可执行文件的路径。

有没有人有任何想法?

谢谢 -

1 个答案:

答案 0 :(得分:0)

我使用单个ANT构建来编译1.7中的一组类和1.6中的另一组类,它工作正常。

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

以下是使用的ANT标签

使用JAVA_HOME进行1.7编译

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

1.6使用javac标签编译可执行属性

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

希望这有帮助。