junitreport ant task giving java.lang.OutOfMemoryError: Java heap space

前端 未结 4 684
一整个雨季
一整个雨季 2021-01-23 06:47

I\'m running junit tests from an ant script. The tests run successfully so ant moves on to the the junitreport task to create the html report. This task is failing with a

相关标签:
4条回答
  • 2021-01-23 07:11

    This error has been raised in ANT bug 34342. The general consensus is that it's caused by excessive memory consumption in the XSLT used to generate the report, and it WON'T be fixed in ANT.

    What has worked for me has been to increase the maximum heap size passed to ant, eg -Xmx3304m. As some of the other answers here mentioned, you can use ANT_OPTS to pass the maximum heap size to ant.

    Regarding the actual maximum heap size value, it is recommended that it should be either 1/4th of physical memory or 1GB, whichever is smaller. You may need to go beyond the 1GB limit to avoid this memory error however. See Garbage Collector Ergonomics guide on the Oracle website.

    0 讨论(0)
  • 2021-01-23 07:13

    you can use the ANT_OPTS environment variable to increase the heap size ant uses

    0 讨论(0)
  • 2021-01-23 07:18

    The "maxmemory="###m" appears to ONLY work if you use fork, If you aren't using fork (like I am) it doesn't get used, You have to use the ANT_OPTS to change the heap.

    0 讨论(0)
  • 2021-01-23 07:26

    You can use the maxmemory set within junit task itself.

    <junit printsummary="yes" fork="true" haltonfailure="no" showoutput="yes" maxmemory="512m">
    

    As the docs explain,

    Maximum amount of memory to allocate to the forked VM. Ignored if fork is disabled. Note: If you get java.lang.OutOfMemoryError: Java heap space in some of your tests then you need to raise the size like maxmemory="128m"

    0 讨论(0)
提交回复
热议问题