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

Maven Rest Assured项目运行TestNG用例报UseSplitVerifier错误如何解决

报错说明

Unrecognized VM option 'UseSplitVerifier'
错误:无法创建Java虚拟机,发生致命异常,程序将退出。

相关报错截图:
错误
报错详情

根因分析

-XX:+UseSplitVerifier是JDK 7版本推出的栈映射帧验证优化参数,仅适用于JDK 7及更早版本。JDK 8开始该参数被官方标记为废弃,JDK 11及更高版本直接移除了该参数,高版本JVM识别到不存在的参数就会直接启动失败。
该参数通常配置在Maven测试插件、IDE运行配置或者全局Maven参数中,使用TestNG执行测试时会被加载到JVM启动参数里。

解决方案

按优先级从高到低选择以下方案:

  • 方案1:修改Maven测试插件配置
    打开项目根目录的pom.xml文件,找到maven-surefire-plugin(单元测试)或maven-failsafe-plugin(集成测试)的配置段,删除<argLine>属性中的-XX:+UseSplitVerifier参数即可。
    示例修改前配置:
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.22.2</version>
      <configuration>
        <argLine>-XX:+UseSplitVerifier -Xmx1024m</argLine>
        <suiteXmlFiles>
          <suiteXmlFile>testng.xml</suiteXmlFile>
        </suiteXmlFiles>
      </configuration>
    </plugin>
    
    修改后配置:
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.22.2</version>
      <configuration>
        <argLine>-Xmx1024m</argLine>
        <suiteXmlFiles>
          <suiteXmlFile>testng.xml</suiteXmlFile>
        </suiteXmlFiles>
      </configuration>
    </plugin>
    
  • 方案2:清理IDE运行配置参数
    如果是在IDEA、Eclipse等IDE中直接执行单个TestNG用例触发的报错,打开对应测试用例的运行配置,删除VM Options输入框中的-XX:+UseSplitVerifier参数后重新运行即可。
  • 方案3:检查全局Maven配置
    如果前两个方案都未找到对应参数,检查本地Maven全局配置(conf/settings.xml或用户目录下.m2/settings.xml),删除全局配置中绑定的-XX:+UseSplitVerifier参数。
  • 方案4:降级JDK版本(不推荐)
    若项目必须保留该兼容参数,将本地运行环境的JDK版本降级到8或更低版本即可正常运行。
验证方式

修改完成后执行mvn test命令运行测试用例,确认JVM正常启动,无参数识别报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:15:05