Eclipse中Java Cucumber项目Import cannot be resolved报错如何解决
解决方案
- 修正Maven编译版本配置
你当前pom.xml中配置的编译版本为1.7,与本地使用的Java 11不兼容,且Cucumber 6.10.4最低要求Java 8运行环境,需要修改properties节点配置:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties>
- 调整依赖scope与代码目录匹配
你当前引入的cucumber-java、cucumber-junit依赖scope为test,仅允许src/test/java目录下的代码访问这些依赖:- 若你的步骤定义代码、测试代码存放在
src/main/java下,删除这两个依赖的<scope>test</scope>配置即可 - 若代码属于测试逻辑,直接将代码迁移到
src/test/java目录下即可
- 若你的步骤定义代码、测试代码存放在
- 确认导入包路径正确
- Cucumber注解正确导入路径:
import io.cucumber.java.en.Given;、import io.cucumber.java.en.When;、import io.cucumber.java.en.Then;,不要导入旧版本info.cukes开头的错误包 - WebDriver正确导入路径:
import org.openqa.selenium.WebDriver;
- Cucumber注解正确导入路径:
- 同步Eclipse项目配置
修改完pom.xml后执行以下操作刷新依赖:- 右键项目 → 选择
Maven→ 点击Update Project - 勾选对应项目,同时勾选
Force Update of Snapshots/Releases选项,点击确认 - 右键项目 → 选择
Properties→ 进入Java Build Path页面,确认Libraries下的JRE System Library版本为Java 11,且Maven Dependencies存在于依赖列表中
- 右键项目 → 选择
内容的提问来源于stack exchange,提问作者Rani
相关产品推荐
相关产品推荐

