设想
在使用Maven Ant Task artifact:deploy
时,我遇到了错误java.lang.OutOfMemoryError: Java heap space
。
如果正在部署的文件的大小大于 25 MB,我只会收到错误消息。我的工件大小不超过 50 MB。
可能是什么原因?而且,我能做些什么来解决它?
代码片段
<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 提到的解决方案,尽管它似乎朝着正确的方向发展。