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

升级Karate 1.4.0与Java 20后出现cucumber.api.cli.Main类找不到异常

解决Karate 1.4.0 + Java 20环境下Eclipse运行.feature文件报错问题

报错信息

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

问题原因

Karate 1.4.0移除了对旧版Cucumber CLI的依赖,改用自身专属运行器,但Eclipse中旧的运行配置仍在调用Cucumber的主类,导致类找不到。

解决方案

  • 修正Eclipse运行配置
    1. 右键目标.feature文件 → 「Run As」→ 「Run Configurations...」
    2. 找到对应「Cucumber Feature」配置项,将「Main class」字段的值从cucumber.api.cli.Main替换为com.intuit.karate.cli.Main
  • 确认pom.xml依赖配置
    确保只引入Karate官方依赖,无需额外添加旧版Cucumber依赖,示例配置如下:
<dependencies>
    <dependency>
        <groupId>com.intuit.karate</groupId>
        <artifactId>karate-core</artifactId>
        <version>1.4.0</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.intuit.karate</groupId>
        <artifactId>karate-junit5</artifactId>
        <version>1.4.0</version>
        <scope>test</scope>
    </dependency>
</dependencies>
  • 适配Java 20环境
    1. 右键项目 → 「Properties」→ 「Java Build Path」→ 「Libraries」,确认JRE系统库为Java 20
    2. 切换到「Java Compiler」选项卡,勾选「Use compliance from execution environment 'JavaSE-20' on the 'Java Build Path'」
  • 清理重建项目
    执行「Project」→「Clean...」清理项目,再右键项目→「Maven」→「Update Project...」刷新依赖并重建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:07:03