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

IntelliJ运行.feature文件报错找不到cucumber.cli.Main类如何解决

IntelliJ运行.feature文件报cucumber.cli.Main类找不到修复方案

对应报错信息:

Error: Could not find or load main class cucumber.cli.Main
Caused by: java.lang.ClassNotFoundException: cucumber.cli.Main

逐步修复操作

  • 校验Cucumber核心依赖完整性
    该报错90%以上是依赖缺失、版本不统一导致,按你用的构建工具补全依赖:

    • Maven项目在pom.xml中添加以下依赖,所有cucumber相关依赖版本号必须完全一致:
      <dependency>
          <groupId>io.cucumber</groupId>
          <artifactId>cucumber-java</artifactId>
          <version>7.14.0</version>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>io.cucumber</groupId>
          <artifactId>cucumber-junit</artifactId>
          <version>7.14.0</version>
          <scope>test</scope>
      </dependency>
      
    • Gradle项目在build.gradle中添加以下依赖:
      testImplementation 'io.cucumber:cucumber-java:7.14.0'
      testImplementation 'io.cucumber:cucumber-junit:7.14.0'
      

    依赖添加完成后刷新构建工具(Maven点侧边栏刷新按钮、Gradle执行Sync),确认依赖成功下载到本地仓库。

  • 确认IDEA内置Cucumber插件状态
    打开File > Settings > Plugins路径,搜索Cucumber for Java插件,确认插件为勾选启用状态,未启用则勾选后重启IDEA。

  • 修复错误的运行配置
    cucumber.cli.Main是非常早期版本Cucumber的主类,目前已经完全废弃,旧运行配置残留会直接触发该报错:

    1. 点击顶部运行配置下拉栏,选择Edit Configurations...
    2. 在配置列表中找到之前运行.feature生成的Cucumber类型配置,直接删除
    3. 回到目标.feature文件,右键文件空白处选择Run 'Feature: [你的文件名]',自动生成新的合法运行配置即可
    4. 如果需要手动配置主类,7.x版本Cucumber主类填io.cucumber.core.cli.Main,4.x及更早版本填cucumber.api.cli.Main,不要使用废弃的旧类路径。
  • 清理IDEA缓存并重构项目
    以上步骤操作完仍报错时,执行缓存清理:

    1. 点击菜单File > Invalidate Caches...
    2. 勾选Clear file system cache and Local History选项,点击Invalidate and Restart等待IDEA重启
    3. 重启完成后点击Build > Rebuild Project,全量构建完成后再运行.feature文件。
  • 核对依赖作用域配置
    打开File > Project Structure > Modules,选中你存放测试代码的模块,切换到Dependencies标签页,确认引入的Cucumber依赖作用域为Compile或Test,不要设置为Provided,否则运行时不会加载对应类。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 10:09:20