如何增加org.eclipse.ant.core.antRunner的内存

时间:2011-09-20 09:06:38

标签: java eclipse ant

我正在通过以下方式从命令行运行Eclipse ant runner:

set LAUNCHER=%ECLIPSE_SDK%\eclipse\plugins\org.eclipse.equinox.launcher_1.1.3.0.jar

%JAVA_HOME%\bin\java.exe -jar %LAUNCHER% -application org.eclipse.ant.core.antRunner -propertyfile %PROPERTIES% -buildfile build.xml

如何增加提供给此jvm实例的内存?我问这个是因为我在堆空间中遇到OutOfMemory错误,并且在命令行中添加-vmargs -Xmx512m没有修复问题

为了查看是否考虑了-vmargs,我只是编写了以下任务:

public class DisplayTask extends Task {

    @Override
    public void execute() throws BuildException {
        System.out.println(Runtime.getRuntime().maxMemory() / 1000000);
    }
}

然后在我的build.xml中启动它(使用taskedf来定义任务)。无论我放入-vmargs -Xmx ....

,输出总是66

3 个答案:

答案 0 :(得分:3)

我明白了,解决方法是在 java.exe之后添加-Xmx512m选项如下:

%JAVA_HOME%\bin\java.exe **-Xmx512m** -jar %LAUNCHER% -application org.eclipse.ant.core.antRunner -propertyfile %PROPERTIES% -buildfile build.xml

这终于是正常的。只有eclipse.exe可执行文件才能理解-vmargs标志;当我运行java -jar LAUNCHER然后我正在创建VM,因此必须自己指定参数。

答案 1 :(得分:0)

您可以尝试设置ANT_OPTS系统变量:{​​{3}}

答案 2 :(得分:0)

如果您使用的是本机Equinox Launcher(您不是,但可能应该使用它 - Eclipse随附精心设计的VM args),您应该了解--launcher.appendVmargs参数(请参阅The Eclipse runtime options,{{3 }和Eclipse/149994了解详情

 # eclipse --launcher.appendVmargs -vmargs  -Xmx512m -application org.eclipse.ant.core.antRunner -propertyfile %PROPERTIES% -buildfile build.xml