Travis Maven生成退出,但出现OutOfMemoryException

Travis Maven生成退出,但出现OutOfMemoryException,maven,travis-ci,aspectj-maven-plugin,tycho-surefire-plugin,Maven,Travis Ci,Aspectj Maven Plugin,Tycho Surefire Plugin,我在Travis(Docked)上运行了一个maven构建,它在我的命令行上构建得很好。几天后,我得到了java.lang.OutOfMemoryError:GC开销限制在测试用例期间超过了。这通常发生在AspectJ测试用例中 上次生成的输出为 我没有做任何剧烈的改变。我没有触及应用程序的AspectJ部分。我用JAVA_OPTS、MAVEN_OPTS测试了各种东西,甚至在pom.xml中为tycho surefire插件传递了更多RAM。没有任何帮助 如何消除错误并使所有测试重新运行?我认为

我在Travis(Docked)上运行了一个maven构建,它在我的命令行上构建得很好。几天后,我得到了
java.lang.OutOfMemoryError:GC开销限制在测试用例期间超过了
。这通常发生在AspectJ测试用例中

上次生成的输出为

我没有做任何剧烈的改变。我没有触及应用程序的AspectJ部分。我用JAVA_OPTS、MAVEN_OPTS测试了各种东西,甚至在pom.xml中为tycho surefire插件传递了更多RAM。没有任何帮助


如何消除错误并使所有测试重新运行?我认为他们改变了导致错误的Travis方面的任何东西。

超出了GC开销限制
意味着您的JVM在垃圾收集上花费了大部分时间,这表明存在一些严重问题。这无法通过
JAVA_OPTS
MAVEN_OPTS
解决,因为这是一个编程(代码)问题。您可以尝试添加

-XX:-UseGCOverheadLimit
但这是不推荐的。有关更多信息,请参阅和。

说明了解决方案,并参考了如何解决的问题。因此,如果您对提供的MAVEN_OPTS值不满意,则无法在容器化环境中构建,因为没有可用的sudo

before_install: 
  - sudo rm /etc/mavenrc
  - export M2_HOME=/usr/local/maven
  - export MAVEN_OPTS="-Dmaven.repo.local=$HOME/.m2/repository -Xms1024m -Xmx3072m -XX:PermSize=512m"

将使您对MAVEN_选项的更改生效。因此,您可以更改MAVEN选项,而无需使用上述解决方法,因此可以使用MAVEN的容器化版本。

尝试增加堆栈大小,例如通过
ulimit-s 82768
并重试。要检查限制,请运行
ulimit-a
free-m
以获得可用内存。

这怎么可能在一年内没有引起问题,而现在却突然导致Travis上的构建失败?如果不访问代码和构建环境,这很难猜测。您应该检查清理运行和首次发生此异常之间的更改。因为它在您的测试中:是否您建立了一个只执行一个短测试的大型测试环境?但那只是我的猜测。。。