求可在Eclipse中运行的兼容Cucumber最新Jar包版本列表
嘿,我完全理解你碰到的这种版本兼容头疼问题——Cucumber JVM在迭代过程中改了不少依赖结构,旧的包名和依赖逻辑很多都变了,直接瞎凑新版本很容易踩坑。下面给你几个经过验证、能稳定在Eclipse里运行的兼容版本配置,还有你之前那套6.7.0配置出错的原因:
你之前6.7.0配置的问题点
你下载的那套新版本之所以报错,主要是几个关键错误:
cucumber-html在Cucumber 3.x之后就被废弃了,6.x版本根本不需要它,引入会导致依赖冲突cucumber-jvm-deps在Cucumber 5.x之后就被整合到cucumber-core里了,不需要单独引入cucumber-report-generator是冗余包,和cucumber-reporting功能重叠,会引发冲突- Gherkin版本不匹配:Cucumber 6.x需要的是Gherkin 16.x,你用了15.0.2,版本不兼容
经过验证的兼容版本配置
1. 推荐的最新稳定版(Cucumber 7.x 系列)
这个版本是目前最稳定的,支持JUnit 4,功能也更完善:
cucumber-core-7.14.0.jarcucumber-java-7.14.0.jarcucumber-junit-7.14.0.jarcucumber-reporting-5.7.6.jargherkin-26.0.1.jarjunit-4.13.2.jarhamcrest-2.2.jar
注意:这个版本里不需要cucumber-jvm-deps和cucumber-html,前者的依赖已经合并到核心包,后者的功能被报告组件替代。
2. 修正后的Cucumber 6.x 配置(对应你尝试的版本系列)
如果你想先用6.x过渡,修正后的兼容列表:
cucumber-core-6.11.0.jarcucumber-java-6.11.0.jarcucumber-junit-6.11.0.jarcucumber-reporting-5.6.1.jargherkin-16.2.0.jarjunit-4.13.2.jarhamcrest-2.2.jar
3. 接近旧版本的过渡版(Cucumber 4.x)
如果不想一下子跳太新,这个版本和你之前的1.2.x差异较小,容易迁移:
cucumber-core-4.8.1.jarcucumber-java-4.8.1.jarcucumber-junit-4.8.1.jarcucumber-reporting-4.11.2.jargherkin-5.1.0.jarjunit-4.12.jarhamcrest-1.3.jar
关键版本匹配规则(必看)
- 所有
cucumber-*核心包(core、java、junit等)必须版本完全一致,这是避免冲突的核心 - Gherkin版本必须和Cucumber核心版本对应,每个大版本的Cucumber都有固定的Gherkin依赖范围,不能乱搭
- 从Cucumber 5.x开始,
cucumber-jvm-deps彻底废弃,不要再引入 cucumber-html在3.x后弃用,用cucumber-reporting替代报告功能
记得在Eclipse里引入新Jar包前,先把旧的所有Cucumber相关Jar都删掉,避免新旧包冲突哦。
内容的提问来源于stack exchange,提问作者user8965724
相关产品推荐
相关产品推荐

