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

maven-surefire-plugin在GitLab CI OpenJDK17环境运行失败原因咨询

maven-surefire-plugin在OpenJDK 17环境下运行失败的核心原因
  • 非法JVM参数直接导致进程启动失败
    你报错日志中的测试进程启动命令携带了-XX:MaxPermSize=256m参数,永久代(PermGen)在JDK 8版本就已被元空间(Metaspace)完全替代,该参数从JDK 8开始废弃,JDK 16及更高版本会直接将其识别为非法启动参数,JVM启动时会立即报错退出,这就是报错信息中Process Exit Code: 1的直接诱因。
  • 插件版本未适配JDK 17特性
    低于3.0.0-M5版本的maven-surefire-plugin没有完成JDK 9+模块化系统、JDK 17强封装规则的适配,插件内部生成fork进程参数的逻辑、调用的反射操作都不符合JDK 17的运行要求,即使移除非法参数,旧版本插件也大概率会出现启动失败问题。
如需保留JDK 17运行环境可按如下步骤修复
  • 移除所有JDK 8及以下版本专属的JVM配置参数,包括-XX:MaxPermSize、-XX:PermSize,如果需要限制元空间上限可改用-XX:MaxMetaspaceSize参数
  • 将maven-surefire-plugin升级到3.0.0-M5及以上的兼容版本,pom.xml参考配置如下:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.2.5</version>
</plugin>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:18:01