Java 如何修复Travis ci上的Maven PermGen内存不足错误?
我在travis ci的每一次构建中都会出现PermGen内存不足错误。这是我的配置文件:Java 如何修复Travis ci上的Maven PermGen内存不足错误?,java,maven,out-of-memory,travis-ci,Java,Maven,Out Of Memory,Travis Ci,我在travis ci的每一次构建中都会出现PermGen内存不足错误。这是我的配置文件: language: java env: global: - MAVEN_OPTS="-XX:MaxPermSize=512m -Xmx4g" script: mvn clean install 看起来MAVEN_OPTS不起作用,因为另一台服务器上的相同值使构建成功 以下是其中一个构建:您的构建链接不再有效,因此我将进行猜测。你是在surefire测试中得到PermGen的吗?该插件使用单独
language: java
env:
global:
- MAVEN_OPTS="-XX:MaxPermSize=512m -Xmx4g"
script: mvn clean install
看起来MAVEN_OPTS
不起作用,因为另一台服务器上的相同值使构建成功
以下是其中一个构建:您的构建链接不再有效,因此我将进行猜测。你是在surefire测试中得到PermGen的吗?该插件使用单独配置的arg行。我们的构建配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14.1</version>
<configuration>
<argLine>${argLine} -Xmx512m -XX:MaxPermSize=256m</argLine>
</configuration>
</plugin>
org.apache.maven.plugins
maven surefire插件
2.14.1
${argLine}-Xmx512m-XX:MaxPermSize=256m
您可以在MAVEN_OPTS中设置JVM内存设置,方法是将其添加到.travis.yml
:
before_install: echo "MAVEN_OPTS='-Xmx2048m -XX:MaxPermSize=512m'" > ~/.mavenrc
注意:如果可以的话,可以考虑迁移到Oracle的JavaSE8,它完全删除了PermGen。这被诸如surefire插件之类的分叉过程所忽略,但对Maven本身是有效的。