我在kotlin中有一个注释处理器,用于生成类。
当我在外壳中使用gradle build时,一切正常,但是IntelliJ不会生成它们。它完全忽略了kapt模块。
模块为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无法正常工作。
如果在外壳中进行“ gradle build”,则gradle生成类并且IntelliJ可以正常编译,但是如果我擦除它们并按build,则构建失败,因为类不存在