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),确认依赖成功下载到本地仓库。
- Maven项目在pom.xml中添加以下依赖,所有cucumber相关依赖版本号必须完全一致:
确认IDEA内置Cucumber插件状态
打开File > Settings > Plugins路径,搜索Cucumber for Java插件,确认插件为勾选启用状态,未启用则勾选后重启IDEA。修复错误的运行配置
cucumber.cli.Main是非常早期版本Cucumber的主类,目前已经完全废弃,旧运行配置残留会直接触发该报错:- 点击顶部运行配置下拉栏,选择
Edit Configurations... - 在配置列表中找到之前运行.feature生成的Cucumber类型配置,直接删除
- 回到目标.feature文件,右键文件空白处选择
Run 'Feature: [你的文件名]',自动生成新的合法运行配置即可 - 如果需要手动配置主类,7.x版本Cucumber主类填
io.cucumber.core.cli.Main,4.x及更早版本填cucumber.api.cli.Main,不要使用废弃的旧类路径。
- 点击顶部运行配置下拉栏,选择
清理IDEA缓存并重构项目
以上步骤操作完仍报错时,执行缓存清理:- 点击菜单
File > Invalidate Caches... - 勾选
Clear file system cache and Local History选项,点击Invalidate and Restart等待IDEA重启 - 重启完成后点击
Build > Rebuild Project,全量构建完成后再运行.feature文件。
- 点击菜单
核对依赖作用域配置
打开File > Project Structure > Modules,选中你存放测试代码的模块,切换到Dependencies标签页,确认引入的Cucumber依赖作用域为Compile或Test,不要设置为Provided,否则运行时不会加载对应类。
内容的提问来源于stack exchange,提问作者Sattar
相关产品推荐
相关产品推荐

