You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins上Maven Surefire插件构建失败:分叉VM异常终止

Jenkins中Maven Surefire插件构建失败的解决方案

针对你遇到的maven-surefire-plugin执行测试时forked VM异常终止的问题,可尝试以下解决步骤:

  • 禁用测试进程fork模式
    在项目pom.xml的surefire插件配置中添加<forkCount>0</forkCount>,让测试在当前JVM而非独立进程中运行,规避fork相关的兼容性问题:

    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.19.1</version>
          <configuration>
            <forkCount>0</forkCount>
          </configuration>
        </plugin>
      </plugins>
    </build>
    
  • 调整fork进程的JVM内存参数
    若因内存不足导致VM崩溃,可在插件配置中指定更大的堆内存和元空间(Java 11+用Metaspace替代PermSize):

    <configuration>
      <argLine>-Xmx1024m -XX:MaxMetaspaceSize=256m</argLine>
    </configuration>
    
  • 排查测试代码中的System.exit()调用
    检查所有测试类,确认是否存在直接调用System.exit()的代码——这会直接终止forked VM,导致构建失败。若有,替换为抛出测试异常或其他合法终止测试的方式。

  • 清理Jenkins工作空间
    在Jenkins任务的配置页面,勾选“构建前清理工作空间”选项,删除旧的构建缓存文件,避免残留的surefire临时文件干扰新构建。

  • 升级surefire插件版本
    你当前使用的2.19.1版本较旧,存在不少已修复的fork相关bug。建议升级至最新稳定版(如3.2.5),更新插件版本后重新执行构建。

内容的提问来源于stack exchange,提问作者Pathfinder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:50:31