在运行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/