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

java.lang.module.FindException: cucumber-core-7.3.4.jar模块描述符报错

报错信息

运行Cucumber测试时抛出如下错误:

java.lang.module.FindException: Unable to derive module descriptor for cucumber-core-7.3.4.jar
问题场景
  • 初始创建普通Java项目,参考公开的Cucumber入门教程操作,还未进行到Selenium集成步骤就触发上述错误
  • 最初采用手动导入jar包的方式引入依赖,所有依赖均选择最新版本,所用jar包版本如下:
    所用jar包版本截图
  • 检索解决方案时发现多数方案依赖Maven的pom.xml配置,因此将普通项目转换为Maven项目,问题未解决;后续执行禁用Maven特性操作,问题依然存在。当前项目为Maven项目,执行到教程中配置Cucumber运行参数的步骤时固定抛出该错误
  • 项目包资源管理器结构如下:
    项目包资源管理器结构截图
问题根因
  1. JPMS模块系统冲突:使用Java 9及以上版本时,JVM默认启用模块化机制,会自动对非模块化jar包推导模块描述符。cucumber-core 7.3.4.jar的元数据中存在不符合模块命名规则的条目,导致JVM解析直接失败,这是该报错的核心触发原因。
  2. 依赖管理混乱:手动导入jar包本身极易出现版本不匹配、重复引入的问题,后续在普通Java项目和Maven项目之间反复切换,会残留大量无效依赖、重复构建配置,进一步引发类加载冲突。
  3. 教程版本不匹配:参考的两份入门教程均基于Java 8 + 旧版Cucumber(6.x及更早版本)编写,配置逻辑和高版本JDK、Cucumber 7.x版本存在兼容性差异,直接照搬步骤必然触发异常。
解决方案

按照以下步骤操作即可解决问题:

  • 第一步:清理冗余项目配置
    删除当前旧项目,不要在原有项目上反复修改。手动删除项目根目录下残留的pom.xml、target文件夹,以及IDE生成的.classpath、.project、.settings等配置文件,避免旧配置干扰。
  • 第二步:新建干净Maven项目
    重新创建一个纯Maven项目,不要手动导入任何jar包,所有依赖统一通过Maven管理。在项目的pom.xml中添加如下Cucumber依赖,注意所有Cucumber相关依赖的版本号必须完全一致:
    <dependencies>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>7.3.4</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>7.3.4</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
    添加后等待Maven自动拉取依赖即可,不需要额外手动下载jar包。
  • 第三步:规避模块化冲突
    二选一即可:
    • 方案A(最简单,无额外配置):将项目的编译、运行JDK版本切换为Java 8,Java 8没有引入JPMS模块化机制,不会触发模块描述符解析逻辑,完美兼容Cucumber 7.3.4版本。
    • 方案B(保留高版本JDK):不要在项目中创建module-info.java文件,运行Cucumber测试时,将所有Cucumber依赖放在类路径(classpath)而非模块路径(modulepath)下,同时给JVM添加启动参数--add-opens java.base/java.lang=ALL-UNNAMED,绕过模块解析限制。
  • 第四步:验证运行
    按照教程编写Feature文件和对应的步骤定义代码后,直接运行JUnit测试类即可正常启动Cucumber。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 01:36:32