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

构建cucumber-java8测试时遇“找不到符号:类En”错误求助

IntelliJ构建cucumber-jvm失败:找不到En类及符号缺失问题

问题描述

刚接触Java开发,fork cucumber-jvm项目后在IntelliJ中执行构建操作,出现构建失败。核心错误信息如下:

C:\projects\cucumber-jvm\cucumber-java8\src\test\java\io\cucumber\java8\Java8LambdaStepDefinitionMarksCorrectStackElementTest.java:115:61
java: cannot find symbol
symbol:   class En
location: class io.cucumber.java8.Java8LambdaStepDefinitionMarksCorrectStackElementTest

同时伴随大量其他符号缺失错误,推测根源是生成语言包的codegen步骤未正常执行。

解决步骤

1. 手动触发Maven代码生成步骤

cucumber-jvm中的En等语言相关类是通过代码生成器自动生成的,IntelliJ默认构建流程不会主动触发这个步骤,需要手动执行:

  • 方式一:在IntelliJ的Maven侧边栏,找到项目根目录下的Lifecycle → generate-sources,双击执行
  • 方式二:在项目根目录打开终端,运行命令:
    mvn generate-sources
    

2. 刷新项目结构

执行完代码生成后,需要让IntelliJ识别新生成的类:

  • 右键点击项目根目录,选择Reload from Maven
  • 或点击Maven侧边栏的刷新按钮(圆形箭头图标)

3. 重新构建项目

完成上述操作后,执行IntelliJ的Build → Build Project,即可正常构建。

额外排查点

  • 确保本地安装了JDK 11及以上版本,cucumber-jvm对JDK版本有明确要求
  • 若仍有问题,尝试清理后重新完整构建:
    mvn clean install -DskipTests
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 23:14:57