在 build.gradle 中找不到方法 kaptKotlin

method kaptKotlin not found in build.gradle

我尝试 运行 在 kaptKotlin 完成后复制文件的任务。 我将 Spring 与 Kotlin 结合使用,并希望将生成的 spring-configuration-metadata.json 文件复制到 META-INF 文件夹中。如果这可以在不使用自己的复制任务的情况下实现,那对我也有很大帮助。

plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.3.61'
    id "org.jetbrains.kotlin.kapt" version "1.3.61"
}

kaptKotlin {
    finalizedBy copyPropertiesMetadata
}

task copyPropertiesMetadata(type: Copy) {
    from file("$buildDir/tmp/kapt3/classes/main/META-INF/spring-configuration-metadata.json")
    into file("src/main/resources/META-INF")
}

当我尝试按照示例执行此操作时,收到以下错误消息:

A problem occurred evaluating root project 'kapt-test'. Could not find method kaptKotlin() for arguments [build_7sekpnn17qad87i9lpu664i61$_run_closure1@66bc8629] on root project 'kapt-test' of type org.gradle.api.Project.

有人知道怎么做吗?

好的,我找到了方法,感谢 this site。我必须反过来做:

task copyPropertiesMetadata(type: Copy, dependsOn: 'kaptKotlin') {
    from file("$buildDir/tmp/kapt3/classes/main/META-INF/spring-configuration-metadata.json")
    into file("src/main/resources/META-INF")
}

当“kaptKotlin”作为字符串给出时,它可以正常工作