【问题标题】:How to handle "[ERROR] Exception in thread "main" java.lang.OutOfMemoryError: Java heap space" in JENKINS?如何在 JENKINS 中处理“主线程”java.lang.OutOfMemoryError:Java 堆空间中的“[ERROR] 异常”?
【发布时间】:2015-01-30 00:32:02
【问题描述】:

我一直在 Jenkins 上构建 GWT 战争文件。在一个特定的“工作”中,我遇到了一个错误,上面写着[ERROR] Exception in thread "main" java.lang.OutOfMemoryError: Java heap space。作为解决方案,我包含了一个值为-Xms512m -Xmx1024m -XX:MaxPermSize=512m 的环境变量“MAVEN_OPTS”。仅供参考,我还尝试了 MAVEN_OPTS 的“echo”命令提示符,它显示的值与我在环境变量中给出的值相同。

pom.xml 中的 MAVEN 编译器插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
    <source>1.7</source>
    <target>1.7</target>
    <showDeprecation>true</showDeprecation>
    <showWarnings>true</showWarnings>
    <executable>${env.JAVA_HOME}/bin/javac</executable>
    <fork>true</fork>
    <verbose>true</verbose>
    <encoding>UTF-8</encoding>
    </configuration>
</plugin>

**完全错误:**

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13:51.518s
[INFO] Finished at: Thu Jan 29 13:06:25 IST 2015
[INFO] Final Memory: 17M/989M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:gwt-maven-              plugin:2.4.0:compile
(default) on project dpgwtwebapplication: Command [[
[ERROR] C:\Program Files\Java\jdk1.7.0_04\jre\bin\java -Xmx512m -classpath    "C:\U

同样在 mvn.bat 文件中,MAVEN_OPTS 的值显示为 -Xmx512m,您可以在最后一个 Full 错误中注意到。

【问题讨论】:

    标签: java maven gwt jenkins heap-memory


    【解决方案1】:

    我想问题不在于 java 编译过程的内存减少,而是 gwt 编译器的内存减少。这里显着增加内存: org.codehaus.mojo gwt-maven-插件 ...

    见:Codehaus.org gwt plugin usage

    【讨论】:

    • 谢谢@ChangeRequest。我只需要在 pom.xml 的 Maven 编译器插件中包含`-Xms512m -Xmx1024m`
    【解决方案2】:

    问题是您正在按照maven-compiler-plugin 中的配置分叉编译器。您应该为内存定义参数,如下所示:

    <project>
      [...]
      <build>
        [...]
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
              <fork>true</fork>
              <meminitial>128m</meminitial>
              <maxmem>512m</maxmem>
            </configuration>
          </plugin>
        </plugins>
        [...]
      </build>
      [...]
    </project>
    

    【讨论】:

    • 我给的 meminitial 为 512m,maxmem 为 1024m。但它仍然给出与以前相同的错误。
    • 所以你必须更多地增加内存,但听起来你需要查看真正导致问题的代码。
    猜你喜欢
    • 2016-12-16
    • 2016-07-29
    • 2022-10-01
    • 2011-01-23
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2020-12-20
    相关资源
    最近更新 更多