Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven Jenkins构建在Java堆空间异常上运行Cucumber测试后失败_Maven_Jenkins_Cucumber - Fatal编程技术网

Maven Jenkins构建在Java堆空间异常上运行Cucumber测试后失败

Maven Jenkins构建在Java堆空间异常上运行Cucumber测试后失败,maven,jenkins,cucumber,Maven,Jenkins,Cucumber,当使用Jenkins构建时,我会遇到以下异常。运行Cucumber测试后引发此异常 有人能说出java堆空间上发生故障的确切位置吗 你知道可以做些什么来解决这个问题吗 一些背景知识:在cumber测试期间,我有一个java堆空间,在我增加内存之后,cumber测试通过了,但之后我就得到了这个java堆空间 谢谢 狮子座 mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.9(默认测试) [詹金斯]记录测试结果 mavenE

当使用Jenkins构建时,我会遇到以下异常。运行Cucumber测试后引发此异常

有人能说出java堆空间上发生故障的确切位置吗

你知道可以做些什么来解决这个问题吗

一些背景知识:在cumber测试期间,我有一个java堆空间,在我增加内存之后,cumber测试通过了,但之后我就得到了这个java堆空间

谢谢

狮子座

mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.9(默认测试)
[詹金斯]记录测试结果
mavenExecutionResult异常不为空
消息:Java堆空间
堆栈跟踪:
java.lang.OutOfMemoryError:java堆空间
位于java.util.Arrays.copyOfRange(Arrays.java:3209)
位于java.lang.String。(String.java:215)
位于com.sun.org.apache.xerces.internal.xni.XMLString.toString(XMLString.java:185)
在com.sun.org.apache.xerces.internal.util.XMLAttributesImpl.getValue上(XMLAttributesImpl.java:537)
位于com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser$AttributeProxy.getValue(AbstractSAXParser.java:2319)
位于org.dom4j.tree.AbstractElement.setAttributes(AbstractElement.java:543)
位于org.dom4j.io.SAXContentHandler.addAttributes(SAXContentHandler.java:916)
位于org.dom4j.io.SAXContentHandler.startElement(SAXContentHandler.java:249)
位于com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
位于com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
在com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)
位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)
位于com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
在com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
位于com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
位于com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
位于com.sun.org.apache.xerces.internal.jaxp.saxpasserimpl$jaxpsaxpasser.parse(saxpasserimpl.java:522)
位于org.dom4j.io.SAXReader.read(SAXReader.java:465)
位于org.dom4j.io.SAXReader.read(SAXReader.java:264)
位于hudson.tasks.junit.SuiteResult.parse(SuiteResult.java:112)
位于hudson.tasks.junit.TestResult.parse(TestResult.java:227)
位于hudson.tasks.junit.TestResult.parse(TestResult.java:163)
位于hudson.maven.reporters.SurefireArchiver.postExecute(SurefireArchiver.java:141)
在hudson.maven.Maven3Builder$MavenExecutionListener.recordMojoEnded(Maven3Builder.java:421)
在hudson.maven.Maven3Builder$MavenExecutionListener.mojoSucceeded(Maven3Builder.java:403)
在org.jfrog.build.extractor.maven.BuildInfoRecorder.mojoSucceeded(BuildInfoRecorder.java:241)
位于org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:87)
位于org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:228)
通道停止

进入詹金斯设置,将环境变量
MAVEN_OPTS
添加到
-Xmx512m-XX:MaxPermSize=256m
。测试完成后,它似乎正在尝试解析结果,但XML文件太大。

我不确定您的CI环境是什么样的,但如果您将Jenkins作为Windows服务运行,您也可以尝试增加可用的堆大小


为此,请将文件定位在${JENKINS_HOME}\JENKINS.xml,并相应地更新命令行参数。(即,将“-Xmx256m”更改为更大的值,如“-Xmx512m”)。

我将首先尝试分析黄瓜输出更长的原因。
在我的例子中,cucumber报告的堆栈跟踪太多了。

谢谢,@Jordan,我会试试。@LiorK您可能还需要增加Jenkins本身的堆大小。你在什么操作系统上运行它?我在AmazonEC2服务器上使用Linux。你知道如何增加Jenkins本身的堆大小吗?我正在使用-Xmx和-XX:MaxPermSize,这似乎是一个很好的方向。谢谢,很多测试都因为同样的原因失败了。
mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.9(default-test)
[JENKINS] Recording test results
mavenExecutionResult exceptions not empty
message : Java heap space
Stack trace : 
java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOfRange(Arrays.java:3209)
    at java.lang.String.<init>(String.java:215)
    at com.sun.org.apache.xerces.internal.xni.XMLString.toString(XMLString.java:185)
    at com.sun.org.apache.xerces.internal.util.XMLAttributesImpl.getValue(XMLAttributesImpl.java:537)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser$AttributesProxy.getValue(AbstractSAXParser.java:2319)
    at org.dom4j.tree.AbstractElement.setAttributes(AbstractElement.java:543)
    at org.dom4j.io.SAXContentHandler.addAttributes(SAXContentHandler.java:916)
    at org.dom4j.io.SAXContentHandler.startElement(SAXContentHandler.java:249)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
    at org.dom4j.io.SAXReader.read(SAXReader.java:465)
    at org.dom4j.io.SAXReader.read(SAXReader.java:264)
    at hudson.tasks.junit.SuiteResult.parse(SuiteResult.java:112)
    at hudson.tasks.junit.TestResult.parse(TestResult.java:227)
    at hudson.tasks.junit.TestResult.parse(TestResult.java:163)
    at hudson.maven.reporters.SurefireArchiver.postExecute(SurefireArchiver.java:141)
    at hudson.maven.Maven3Builder$MavenExecutionListener.recordMojoEnded(Maven3Builder.java:421)
    at hudson.maven.Maven3Builder$MavenExecutionListener.mojoSucceeded(Maven3Builder.java:403)
    at org.jfrog.build.extractor.maven.BuildInfoRecorder.mojoSucceeded(BuildInfoRecorder.java:241)
    at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:87)
    at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:228)
channel stopped