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

在IntelliJ中运行BDD测试时遇Gradle Path空指针错误(Java21+Gradle8.5)

解决IntelliJ IDEA中BDD测试运行时的"path is null"错误

针对Java 21 + Gradle 8.5环境下出现的Cannot invoke "org.gradle.util.Path.segmentCount()" because "path" is null错误,可尝试以下几种修复方案:

  • 更新IntelliJ IDEA到最新版本
    旧版IDEA对Java 21和Gradle 8.5的兼容性可能存在缺陷,尤其是BDD测试相关的集成模块。升级到最新稳定版后,这类兼容性空指针问题通常会被修复。

  • 检查Gradle配置中的测试路径设置
    打开build.gradle(或build.gradle.kts)文件,确认测试相关路径配置的有效性:

    • 确保sourceSets.test.java.srcDirs和sourceSets.test.resources.srcDirs指向真实存在的目录,无空路径或无效路径配置。
    • 若是Cucumber这类BDD框架,检查feature文件路径、glue代码包路径的配置,避免出现空值。

    示例Gradle配置(以Cucumber为例):

    sourceSets {
        test {
            java.srcDirs = ['src/test/java']
            resources.srcDirs = ['src/test/resources']
        }
    }
    
    cucumber {
        features = fileTree('src/test/resources/features')
        glue = ['com.example.steps']
    }
    
  • 清除Gradle缓存并重新同步
    执行以下操作重置Gradle状态:

    1. 点击IntelliJ右侧Gradle面板中的「Refresh all Gradle projects」按钮。
    2. 删除本地Gradle缓存目录(默认路径:~/.gradle/caches)。
    3. 先运行gradle clean test命令,再尝试在IDEA中启动测试。
  • 调整IDEA的Gradle运行配置
    打开IDEA的「Run/Debug Configurations」,找到对应BDD测试的配置项:

    • 确认「Gradle project」选择了正确的模块,无空项目选择情况。
    • 在「Arguments」中添加--no-build-cache参数,禁用构建缓存后重试。
  • 降级Gradle版本(临时方案)
    若以上方案均无效,可尝试将Gradle版本临时降级到8.4(该版本对Java 21的兼容性更稳定),修改gradle/wrapper/gradle-wrapper.properties中的distributionUrl:

    distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:19:53