我使用Jenkins和部署插件,maven3和tomcat7。以前一切都运行良好,但新的.war
新库在部署期间会导致OutOfMemoryError
(java堆大小)异常。
注意:构建成功
此问题仅在我使用jenkins时引起。如果我尝试直接从tomcat管理器手动部署.war
文件(由jenkins放置在/tomcat/webapps
中) - 一切正常。或者如果我重新启动tomcat并且.war
将自动部署 - 一切正常。
我在/ etc / default / tomcat7中增加了tomcat的java堆内存并且问题已修复,但在我看来这是一个糟糕的解决方案。为什么OutOfMemory使用jenkins?
由于
答案 0 :(得分:0)
当你正在运行的Maven作业内存不足时,Jenkins会收到OutOfMemoryException。 Jenkins工作中的每个Maven构建步骤都将单独运行,因此每个步骤都可以拥有自己的设置。要解决此问题,您可以为特定的Maven构建步骤分配更多内存。
当构建包含"调用顶级Maven目标" buildstep可以选择调整JVM选项(单击高级按钮后可以找到)。分配更多内存时(例如-Xmx1024m -Xms256m -XX:MaxPermSize = 1024m),指定的buildstep将不太可能耗尽内存。如果它仍然存在,你应该玩数字。
这会回答你的问题吗?