【发布时间】:2012-06-21 17:29:56
【问题描述】:
场景
在使用 Maven Ant 任务 artifact:deploy 时,我遇到了错误 java.lang.OutOfMemoryError: Java heap space。
只有在部署的文件大小大于 25 MB 时才会出现错误。我的工件大小不超过 50 MB。
原因可能是什么?还有,我能做些什么来解决它?
代码 sn-p
<artifact:deploy file="@{app.name}.jar">
<pom file="@{pom.file}"/>
<remoteRepository url="http://xxx.com:xxx/xxx-webapp/content/repositories/xxx-releases/">
<authentication username="xxx" password="xxx" />
</remoteRepository>
</artifact:deploy>
现有解决方案
大多数在线结果表明这与 JVM 默认堆大小有关,可以通过设置适当的环境变量来修复。
但是,我希望 Ant 脚本可以在任何计算机上运行,并且不依赖环境变量。
有没有办法在 Ant 脚本或
POM文件?
编辑
install-provider 任务 (http://maven.apache.org/ant-tasks/examples/install-deploy.html) 似乎对某些人有用。我使用它时不断收到下载错误。
回答
事实证明,当我在另一台机器上运行我的 Maven Ant 任务(可能有更多的内存分配给 JVM 堆)时,我没有收到 Java 堆错误。因此,我没有尝试过@Attila 提到的解决方案,尽管它似乎朝着正确的方向发展。
【问题讨论】:
标签: maven ant out-of-memory heap-memory pom.xml