Gradle kotlin-spring插件不开放春季课程

时间:2017-09-27 16:18:42

标签: gradle kotlin

我有以下gradle脚本:

buildscript {

        repositories {
            mavenCentral()
        }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${SPRING_BOOT_VERSION}")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${KOTLIN_VERSION}")
        classpath("org.jetbrains.kotlin:kotlin-allopen:${KOTLIN_VERSION}")
    }
}

apply plugin: org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper
apply plugin: org.jetbrains.kotlin.allopen.gradle.SpringGradleSubplugin
apply plugin: org.springframework.boot.gradle.plugin.SpringBootPlugin[code]

它的目的是作为所有基于kotlin的服务的基础构建。以下是我的应用方式:

apply from: '../../xxx/xxx.gradle'

然后在这个项目中,当我应用通用构建模板时,我有类似这样的东西

@SpringBootApplication
open class MainClass

如果我删除它,它会抱怨这个课程不应该是最终的。我想如果我使用kotlin-spring,我不需要手动打开。我检查了这个设置,而不是使用spring initialr的工作,我无法发现差异。这是工作版

buildscript {
    ext {
        kotlinVersion = '1.1.4-3'
        springBootVersion = '1.5.7.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
        classpath("org.jetbrains.kotlin:kotlin-allopen:${kotlinVersion}")
    }
}

apply plugin: 'kotlin'
apply plugin: 'kotlin-spring'
apply plugin: 'org.springframework.boot'

我无法在这里发现差异。提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

apply {
  plugin("kotlin")
  plugin("kotlin-spring")
  plugin("org.springframework.boot")
}

https://github.com/spring-petclinic/spring-petclinic-kotlin/blob/master/build.gradle.kts