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

SpringBoot项目执行gradle bootRun时遭遇IOException:无法删除目录

SpringBoot项目执行gradle bootRun时遭遇IOException:无法删除目录

我特别理解刚接触SpringBoot就遇到这种构建报错的烦躁感,你已经尝试了不少常规方法,咱们再从几个容易忽略的角度来排查解决:

  • 彻底关闭IDE并重启:VS Code的Java语言服务(Java Language Server)有时候会在后台悄悄占用编译生成的class文件,哪怕你关闭了终端,这个服务还可能在运行。建议完全关闭VS Code(包括后台进程),过几秒再重新打开项目,然后尝试执行gradle bootRun。

  • 手动强制删除目标目录:试试用管理员权限打开命令提示符,执行下面的命令直接强制删除被占用的目录:

    rmdir /s /q "C:\Users\victo\OneDrive\Desktop\expense_tracker\expense_tracker_backend\build\classes\java\main"
    

    删完之后再重新运行构建命令,看是否能正常执行。

  • 把Gradle构建目录移出OneDrive同步路径:OneDrive的实时同步很容易锁定正在生成或修改的文件,哪怕你暂停了同步,可能还有残留的进程在监控目录。你可以在项目的build.gradle里手动指定一个不在OneDrive下的构建目录,比如:

    buildDir = file("$projectDir/../gradle-build-output")
    

    这样构建产物就会生成在项目外的独立文件夹里,避开OneDrive的干扰。

  • 用Windows资源监视器排查进程占用:有时候你很难直观看到哪个进程在占用文件,Windows自带的资源监视器可以帮你精准定位:

    1. 按下Win + R,输入resmon打开资源监视器
    2. 切换到「CPU」标签,在「关联的句柄」搜索框里输入你的目标目录路径
    3. 找到对应的进程后,右键选择「结束进程」,之后再尝试构建。
  • 分开执行clean和bootRun命令:有时候直接执行gradle bootRun会让clean和构建的进程产生冲突,你可以先单独执行:

    gradle clean
    

    等clean执行完成后,再执行gradle bootRun,看看是否能成功。

希望这些方法能帮你解决问题,如果还有其他细节可以补充,咱们再接着排查~

备注:内容来源于stack exchange,提问作者Victor Jimenez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 08:59:35