Kapt从shell可以正常工作,但不能在intellij形式下工作

时间:2019-04-11 11:53:49

标签: intellij-idea kotlin kapt2

我在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,则构建失败,因为类不存在

0 个答案:

没有答案