首页 > 解决方案 > 多项目 gradle build - java.io.IOException:无法删除文件

问题描述

我有一个多项目构建

主模块

-> api

-> 宠物

-> 网关

  1. 在根项目中配置 settings.gradle 以包含所有子项目。
  2. 在宠物和网关中包含 api -> 编译项目(“:api”)。
  3. 使用 gradlew run 启动宠物 -> 成功启动
  4. 使用 gradlew run 启动网关 -> 我得到以下错误

任务 ':api:jar' 执行失败。

java.io.IOException:无法删除文件:\main-module\api\build\libs\api.jar

我该如何解决这个问题?谢谢。

标签: javagradle

解决方案


您的构建似乎有问题。该api:jar任务应在第 4 步被视为 UP-TO-DATE(因为第 3 步已经构建了它并且没有任何改变),但它似乎正在尝试再次构建 jar。最可能的原因是任务输入(文件)已更改

我猜您的某些任务输入/输出不正确。或者,您可能会在构建过程中生成一个包含当前日期/时间的文件?您可以尝试运行 gradle--info以查看为什么api:jar第 4 步的任务不是 UP-TO-DATE

查看最新检查


推荐阅读