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

GitHub Actions设置默认工作目录后Gradle构建仍在根目录执行的问题

解决GitHub Actions中Gradle子目录项目构建路径错误问题

问题原因

你配置的defaults.run.working-directory仅对使用run:直接执行shell命令的步骤生效,但gradle/gradle-build-action这个官方Action有自己的工作目录参数,不会继承该全局配置,因此构建操作依然会在仓库根目录寻找Gradle wrapper文件,触发路径错误。

修复后的配置

修改Build with Gradle步骤,添加build-root-directory参数指定你的Gradle项目子目录:

name: Java CI with Gradle

on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash
        working-directory: ./gradle-specific
    steps:
    - uses: actions/checkout@v3
    - name: Set up JDK 16
      uses: actions/setup-java@v3
      with:
        java-version: '16'
        distribution: 'temurin'
    - name: Build with Gradle
      uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1
      with:
        arguments: clean build
        build-root-directory: ./gradle-specific  # 新增该行指定项目根目录

关键说明

  • build-root-directory是gradle/gradle-build-action的专属参数,用于指定包含gradlew和gradle/wrapper目录的Gradle项目根路径。
  • 原有的defaults.run.working-directory可保留,它会对后续所有使用run:执行的shell命令生效,但第三方Action通常有自己的路径配置参数,需参考对应Action文档确认。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:35:20