gradle - 如果文件被Gradle守护程序锁定,如何处理情况

标签 gradle build.gradle gradlew

在运行gardle的processResources应用程序任务时(将资源从其源复制到目标目录,可能会对其进行处理)会尝试删除build文件夹中的git.properties文件,

但是,在proceeResources之前的某些任务中构建应用程序时,正在运行时创建同一文件,但是该文件被gradle守护程序锁定,因此任务proceeResources无法在其上工作并以错误结束,

java.io.IOException: Unable to delete file: {projectWebappPath}\build\resources\main\git.properties
> Unable to delete file: {projectWebappPath}\build\resources\main\git.properties

在SysinternalSuite中,如果我在Windows 7上运行程序procExp.exe,则可以看到该文件已被gradle守护程序锁定。

问题是:-

我不知道如何处理这种情况,我尝试禁用守护程序,但不建议这样做。哪个也不能解决问题。

我已经在三天前开始收到此问题,之前它还可以正常工作,我不明白这可能是什么原因,如果我暂时构建时尝试排除processResources任务,则会产生另一种影响,因此无法真正做到这一点。

我正在使用Windows 7,64位操作系统,试图在intellij终端上运行gradlew build

任何帮助或线索,将不胜感激。

提前致谢。

最佳答案

在Windows上,可能类似:

taskkill /F /IM gradlew.bat /T

或gradle守护程序在那里使用的任何名称。

您也可以使用GUI任务管理器杀死停滞的实例。

通常,它只能是守护程序的最后一个实例,它可能已经锁定了文件。还需要寻找*.lock文件,当使用各种用户帐户进行构建时,可能无法将其删除。

关于gradle - 如果文件被Gradle守护程序锁定,如何处理情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52679405/

相关文章:

gradle - svnant的嵌套复制任务无法在gradle中工作

java - 从任务中调用任务的替代方案,Gradle

android-studio - 无法将新的 APK 文件上传到 Android Play 商店(Android 支付许可)

java - Jar(使用gradle任务生成)中的Java文件无法在工作空间中访问

android - Gredlew任务名称-命令未运行Android Studio终端

gradle - 使用 Gradle 执行 Docker 命令

coding-style - Gradle build.gradle 代码风格

gradle - Gradle中相互依赖的多模块子项目

android - 生成签名 APK 时出现 "androidx.legacy_legacy-support-core-utils.version collided"错误

android-studio - R8 从 AndroidStudio 中抛出 NullPointerException,但不会通过 gradlew 从命令行抛出