我在 kotlin 中有一个用于生成类的注释处理器。
当我在 shell 中使用 gradle build 时,一切正常,但 IntelliJ 不会生成它们。它完全忽略了 kapt 模块。
模块es https://github.com/MiguelAngelLV/kspring
在我的项目的 build.gradle 中,我有:
group 'proyect'
version '1.0-SNAPSHOT'
buildscript {
ext.kotlin_version = '1.3.21'
ext.springBootVersion = '2.1.0.RELEASE'
repositories {
mavenCentral()
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-allopen:${kotlin_version}")
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'kotlin'
apply plugin: 'kotlin-spring'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'kotlin-kapt'
allOpen {
annotation("org.malv.kspring.spring2swagger.REST")
}
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
configurations {
providedRuntime
}
sourceSets {
main {
java {
srcDir "${buildDir.absolutePath}/tmp/kapt/main/kotlinGenerated/"
}
}
}
kapt {
generateStubs = true
}
dependencies {
...
kapt 'com.github.MiguelAngelLV:kspring:3cf6e7773e'
implementation 'com.github.MiguelAngelLV:kspring:3cf6e7773e'
....
}
Spring 的 AllOpen 插件工作正常,但 kotlin-kapt 不起作用。
如果在 shell 中制作“gradle build”,gradle 生成类并且 IntelliJ 编译正常,但是如果我删除它们并按下 build,则构建失败,因为类不存在