我有以下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'
我无法在这里发现差异。提前感谢任何建议。
答案 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