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

根目录执行Gradle命令无法识别子项目Project b,求解决方案

问题解决:Gradle构建带空格的子项目报错

嗨,这个问题我之前踩过坑!核心原因就是你的子项目名称包含空格,而你在根目录执行Gradle命令时,没有对带空格的项目路径做特殊处理,导致shell把:Project和b:build拆成了两个独立的参数,Gradle自然找不到名为Project b的项目了。

下面给你几个可行的解决办法:

  • 给项目路径加引号(适用于绝大多数shell环境,比如Bash、Zsh、Windows PowerShell):
    把整个项目路径用双引号或单引号包裹,让shell把它当成一个整体解析:

    gradle ":Project b:build"
    

    或者用单引号:

    gradle ':Project b:build'
    
  • 用反斜杠转义空格(适合类Unix系统的shell):
    在空格前加反斜杠,告诉shell这个空格是路径的一部分,不是参数分隔符:

    gradle :Project\ b:build
    
  • 给子项目设置别名(一劳永逸):
    如果觉得带空格的路径总是很麻烦,可以在根目录的settings.gradle(或settings.gradle.kts)里给子项目设置一个不带空格的别名:
    Groovy版本:

    include ':Project b'
    project(':Project b').name = 'projectB'
    

    Kotlin版本:

    include(":Project b")
    project(":Project b").name = "projectB"
    

    设置完成后,你就可以用更简洁的命令构建这个子项目了:

    gradle :projectB:build
    

至于为什么进入子项目目录后执行gradle build能成功?那是因为当你在子项目目录下运行Gradle时,它会默认构建当前目录对应的项目,不需要你指定带空格的路径,自然就避开了参数拆分的问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:03:42