无法删除某些子项。这可能是因为进程打开了文件或在目标目录中设置了其工作目录

Jim*_*m C 7 windows intellij-idea gradle kotlin micronaut

出于某种未知的原因,每当我gradle clean build在启动笔记本后运行时,它都会按预期工作。当我第二次尝试时,我总是得到

Unable to delete directory 'C:\_d\mycompany\WSs\demo\build'
  Failed to delete some children. This might happen because a process has files open or has its working directory set in the target directory.
  - C:\_d\mycompany\WSs\demo\build\classes\kotlin\main\com\mybank
  - C:\_d\mycompany\WSs\demo\build\classes\kotlin\main\com
  - C:\_d\mycompany\WSs\demo\build\classes\kotlin\main
  - C:\_d\mycompany\WSs\demo\build\classes\kotlin\test\com
  - C:\_d\mycompany\WSs\demo\build\classes\kotlin\test
  - C:\_d\mycompany\WSs\demo\build\classes\kotlin
  - C:\_d\mycompany\WSs\demo\build\classes
  - C:\_d\mycompany\WSs\demo\build\generated\source\kapt
  - C:\_d\mycompany\WSs\demo\build\generated\source\kaptKotlin\main
  - C:\_d\mycompany\WSs\demo\build\generated\source\kaptKotlin\test
  - C:\_d\mycompany\WSs\demo\build\generated\source\kaptKotlin
  - C:\_d\mycompany\WSs\demo\build\generated\source
  - C:\_d\mycompany\WSs\demo\build\generated
  - C:\_d\mycompany\WSs\demo\build\kotlin\compileKotlin\caches-jvm\inputs
  - C:\_d\mycompany\WSs\demo\build\kotlin\compileKotlin\caches-jvm\jvm\kotlin
  - C:\_d\mycompany\WSs\demo\build\kotlin\compileKotlin\caches-jvm\jvm
  - and more ...
  New files were found. This might happen because a process is still writing to the target directory.
  - C:\_d\mycompany\WSs\demo\build\kotlin\compileKotlin
Run Code Online (Sandbox Code Playgroud)

我发现有人在使用 Android Studio/Ubuntu(我使用的是 IntelliJ Community/Windows 10)时遇到了类似的问题:其他问题

我仔细尝试了所有建议,但没有一个能解决我的问题。如果我重新启动 Windows 并且只工作一次,我只会让它恢复工作。

其中一些建议是:

1 - 关闭工作室并转到问题所在的路径并删除那里的文件夹。我尝试关闭 IntelliJ,但无法直接删除文件夹

2 - 文件 > 设置 > 构建、执行、部署 > 即时运行 > 取消选中此复选框(启用即时运行到热插拔代码)在我的 IntelliJ 中没有这样的选项

IntelliJ IDEA 2020.2.3 (Community Edition)
Build #IC-202.7660.26, built on October 6, 2020
Runtime version: 11.0.8+10-b944.34 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 1963M
Cores: 8
Non-Bundled Plugins: Lombook Plugin, org.jetbrains.kotlin
Run Code Online (Sandbox Code Playgroud)

3 - gradlew clean 同样的问题

4 - 右键单击​​目录,单击出现的上下文菜单上的属性,然后取消选中“只读”属性。之后,单击“应用”以应用更改。我是管理员,但我无法更改此类文件夹属性。

5 - 在 Windows 中以管理员身份运行 android studio 对我有用。同样的问题

这是我的 build.gradle

plugins {
    id "org.jetbrains.kotlin.jvm" version "1.4.10"
    id "org.jetbrains.kotlin.kapt" version "1.4.10"
    id "org.jetbrains.kotlin.plugin.allopen" version "1.4.10"
    id "com.github.johnrengelman.shadow" version "6.1.0"
    id "io.micronaut.application" version '1.0.5'
    id "com.gorylenko.gradle-git-properties" version "2.2.2"
}

version "0.1"
group "com.mybank"

repositories {
    mavenCentral()
    jcenter()
}

micronaut {
    runtime "netty"
    testRuntime "junit5"
    processing {
        incremental true
        annotations "com.mybank.*"
    }
}

dependencies {
    implementation("io.micronaut:micronaut-validation")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}")
    implementation("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")
    implementation("io.micronaut.kotlin:micronaut-kotlin-runtime")
    implementation("io.micronaut:micronaut-runtime")
    implementation("javax.annotation:javax.annotation-api")
    implementation("io.micronaut:micronaut-http-client")

    implementation("io.micronaut:micronaut-management")
    implementation("io.micronaut.sql:micronaut-jdbc-hikari")
    implementation("io.micronaut.sql:micronaut-hibernate-jpa")
    runtimeOnly("com.h2database:h2")
    runtimeOnly("ch.qos.logback:logback-classic")
    runtimeOnly("com.fasterxml.jackson.module:jackson-module-kotlin")



}

mainClassName = "com.mybank.ApplicationKt"
java {
    sourceCompatibility = JavaVersion.toVersion('11')
}

compileKotlin {
    kotlinOptions {
        jvmTarget = '11'
    }
}
compileTestKotlin {
    kotlinOptions {
        jvmTarget = '11'
    }
}
Run Code Online (Sandbox Code Playgroud)

gradle.properties

micronautVersion=2.1.3
kotlinVersion=1.4.10
Run Code Online (Sandbox Code Playgroud)

以及在 IntelliJ 中看到的 build 文件夹

在此处输入图片说明

*** 已编辑

我没有找到如何解决它。现在正在发生一个我刚刚从micronaut克隆的项目

虽然我是 Windows 管理员,但我无法删除 build 文件夹

PS C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin> gradle clean build
> Task :clean FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':clean'.
> java.io.IOException: Unable to delete directory 'C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build'
    Failed to delete some children. This might happen because a process has files open or has its working directory set in 
the target directory.
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\generated\source\kaptKotlin\main
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\generated\source\kaptKotlin\test
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\generated\source\kaptKotlin
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\generated\source
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\generated
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\tmp\kapt3\incApCache\main
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\tmp\kapt3\incApCache\test
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\tmp\kapt3\incApCache
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\tmp\kapt3\stubs\main
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\tmp\kapt3\stubs\test
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\tmp\kapt3\stubs
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\tmp\kapt3
    - C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin\build\tmp

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 13s
1 actionable task: 1 executed
PS C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin> gradle stop

FAILURE: Build failed with an exception.

* What went wrong:
Task 'stop' not found in root project 'hello-world-kotlin'.

* Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or 
--debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 2s
PS C:\_d\toLearn\micronaut-grpc\examples\hello-world-kotlin> 
Run Code Online (Sandbox Code Playgroud)

Ada*_*old 9

问题是您有多个 Gradle 进程仍然持有对您文件的锁定。

gradle --stop当这种情况发生时,您可以尝试运行以停止在 backgorund 中运行的任何守护进程(这通常会有所帮助)。

您还可以通过运行来检查守护程序的状态gradle --status。对我来说,这个输出:

No Gradle daemons are running.

Only Daemons for the current Gradle version are displayed.
See https://docs.gradle.org/6.5/userguide/gradle_daemon.html#sec:status
Run Code Online (Sandbox Code Playgroud)

如果你在那里看到一些东西,那可能是一个问题。

使用--no-daemonand--no-parallel可能会有所帮助,但它们只会隐藏潜在的问题。

就我而言,当发生这种情况时,我意识到我的进程在后台运行,因为测试从未完成。检查所有线程和/或协程使用情况是否有未关闭/未完成的进程。

另一种发生在我身上的情况是,当我使用ProcessBuilder启动另一个 Java 进程但它没有退出时。


Fer*_*ade 9

就我而言,我root在 Linux 中以用户身份运行 Gradle 命令后遇到了此错误。

切换回普通用户后,Gradle 给了我上述错误。当我尝试使用 删除构建目录时rm -rf build/,收到“权限被拒绝”错误。您可以通过以 root 用户身份删除构建目录来解决此问题。


Dev*_*aul 8

在 Windows 10 中,通过在命令提示符下运行以下命令来终止所有 Java TM 实例:

TASKKILL /F /IM java.exe 
Run Code Online (Sandbox Code Playgroud)


小智 5

只需重命名“build”文件夹即可。