我正在使用maven- anrun -plugin将我的ant的build.xml转换为maven项目pom.xml,我正在获得Java .lang. outofmemoryerror: Java堆空间错误。当我试图在构建期间将相当大的文件2g复制到某个位置时,会发生此错误
这个的代码就是
<copy todir="dist/${cgapp.home}/${push.root}/${cgapp.toolchain}" >
<fileset dir="${env.PUSH_TOOLCHAIN}" includes="**"/>
</copy>
现在使用maven-antrun-plugin, pom.xml看起来像这样
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<configuration><exportAntProperties>true</exportAntProperties>
<target>
.........
<copy verbose="true" todir="app/${cgapp.home}/${push.root}/${cgapp.toolchain}">
<fileset dir="${env.PUSH_TOOLCHAIN}" includes="**"/>
</copy>
....
</target>
</..>
在运行ant构建时,ANT_OPTS已设置为-Xmx4g,并且ant脚本工作正常。但是当我运行maven包命令时,它会抛出一个错误,如下所示。
Ant BuildException发生:Java .lang. outofmemoryerror: Java heap space
我相信maven插件没有读取ANT_OPTS环境变量,而是有一个默认值。有没有人知道为什么会发生这种情况,如果有一种方法来传递ANT_OPTS变量antrun插件?
蚂蚁可能不是子进程。在这种情况下,您可以尝试MAVEN_OPTS。参见Maven内存不足构建失败的提示