Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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
Java 如何修复Travis ci上的Maven PermGen内存不足错误?_Java_Maven_Out Of Memory_Travis Ci - Fatal编程技术网

Java 如何修复Travis ci上的Maven 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的吗?该插件使用单独

我在travis ci的每一次构建中都会出现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本身是有效的。