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

升级Gradle至8.5后Spring Boot项目buildDockerImage任务执行失败

问题:Gradle 8.5 + Windows环境下buildDockerImage任务文件锁异常

场景

Spring Boot项目升级Gradle到8.5、Java到17后,在IntelliJ IDEA 2023.2.4中执行buildDockerImage任务时触发异常。该任务在GitLab流水线、旧版Gradle 6.8.3环境下可正常运行,推测是Windows环境特有的文件锁问题。

异常信息

What went wrong:
Execution failed for task ':project-name:buildDockerImage'.

Cannot access input property 'inputDir' of task ':project-name:buildDockerImage'. Accessing unreadable inputs or outputs is not supported. Declare the task as untracked by using Task.doNotTrackState().
Failed to create MD5 hash for file content.
Caused by: java.io.IOException: The process cannot access the file because another process has locked a portion of
the file
at org.gradle.internal.hash.DefaultStreamHasher.doHash(DefaultStreamHasher.java:52)
at org.gradle.internal.hash.DefaultStreamHasher.hash(DefaultStreamHasher.java:35)
... 115 more

任务代码

task buildDockerImage(type: DockerBuildImage) {
    inputDir = project.projectDir
    (...)
}

已尝试操作

  • 升级com.bmuschko:gradle-docker-plugin至6.7.0,问题未解决

解决方案尝试

1. 禁用任务状态跟踪

直接按照异常提示,给任务添加状态禁用配置,跳过Gradle对输入目录的哈希校验:

task buildDockerImage(type: DockerBuildImage) {
    inputDir = project.projectDir
    doNotTrackState("Windows环境文件锁导致哈希生成失败,禁用状态跟踪")
    (...)
}

2. 缩小inputDir范围

避免把整个项目目录作为Docker构建输入,只指定实际需要的目录(比如存放Dockerfile的子目录或构建产物目录),减少被锁文件的接触范围:

task buildDockerImage(type: DockerBuildImage) {
    inputDir = file("$project.buildDir/docker")
    (...)
}

3. 调整IDEA相关配置

Windows下IDEA的后台索引、文件监控可能锁定文件,临时修改以下配置:

  • 切换Gradle运行模式:在Settings > Build, Execution, Deployment > Build Tools > Gradle中,将Build and run using改为Gradle,而非IDEA内置工具
  • 关闭实时文件同步:在Settings > Appearance & Behavior > System Settings > Synchronization中,禁用Sync files on frame activation和Auto-reload changed files

4. 释放文件锁

排查并关闭锁定项目文件的进程:

  • 用Windows资源监视器的“关联的句柄”功能,搜索项目目录下的文件,定位锁定进程并关闭
  • 重启IDEA或电脑,强制释放所有可能的文件锁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 07:02:26