我正在通过以下方式从命令行运行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答案 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