QAF-Cucumber 3.1.0无法兼容Cucumber 6,抛出类未找到异常求助
解决QAF-Cucumber 3.1.0与Cucumber 6.11.0的兼容问题
问题原因
QAF-Cucumber 3.1.0对Cucumber 6系列版本有严格的兼容范围,Cucumber 6.11.0中io.cucumber.core.gherkin.Location类的路径或存在形式发生了变化,与QAF-Cucumber 3.1.0的内部依赖不匹配,导致类找不到异常。
解决方案
1. 调整Cucumber依赖版本到兼容范围
QAF-Cucumber 3.1.0官方适配的Cucumber 6稳定版本为6.9.1,将你的依赖配置修改为:
implementation group: 'io.cucumber', name: 'cucumber-java', version: '6.9.1' implementation group: 'io.cucumber', name: 'cucumber-junit', version: '6.9.1'
2. 排除QAF自带的冲突依赖(可选)
如果项目中QAF-Cucumber依赖自带了其他版本的Cucumber核心库,可通过依赖排除强制统一版本:
// 假设你的QAF依赖是这样的,添加exclude规则 implementation group: 'com.qmetry', name: 'qaf-cucumber', version: '3.1.0' { exclude group: 'io.cucumber', module: 'cucumber-core' exclude group: 'io.cucumber', module: 'cucumber-gherkin' }
3. 清理依赖缓存并重新构建
执行以下命令清理本地依赖缓存,避免旧版本依赖残留:
- Gradle:
gradlew clean build --refresh-dependencies - Maven:
mvn clean install -U
内容的提问来源于stack exchange,提问作者monty
相关产品推荐
相关产品推荐

