Вы можете использовать зависимости со встроенной версией следующим образом:

дни я пытаюсь написать несколько кодов, чтобы испытать реактивные функции Spring и расширение kotlin в Spring 5, и я также подготовил сборку Kotlin DSL build.gradle.kt для настройки сборки сборки gradle.

build.gradle.kt преобразуется из кодов шаблонов Spring Boot, созданныхhttp://start.spring.io.

Ноext вbuildscript не может быть обнаружен Gradle.

buildscript {
  ext { }
}

ext приведет к ошибке сборки Gradle.

Чтобы сделать переменные вclasspath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") а такжеcompile("org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlinVersion") работать, я добавил переменные в трудный путь.

val kotlinVersion = "1.1.4"
val springBootVersion = "2.0.0.M3"

Но я должен объявить их в верхнем глобальном местоположении и дублировать их вbuildscript.

Код:https://github.com/hantsy/spring-reactive-sample/blob/master/kotlin-gradle/build.gradle.kts

Есть ли изящный подход, чтобы сделатьext работай?

ОбновитьЕсть несколько уродливых подходов:

Из примера Gradle Kotlin DSL,https://github.com/gradle/kotlin-dsl/tree/master/samples/project-properties, объявляет свои свойства в gradel.properties.

kotlinVersion = 1.1.4
springBootVersion = 2.0.0.M3

И используйте его в build.gradle.kts.

buildScript{
   val kotlinVersion by project

}
 val kotlinVersion by project //another declare out of buildscript block.

Аналогично описанному выше, объявите их в блоке buildScript:

buildScript{
   extra["kotlinVersion"] = "1.1.4"
   extra["springBootVersion"] = "2.0.0.M3"
   val kotlinVersion: String by extra

}
 val kotlinVersion: String by extra//another declare out of buildscript block.

Как я могу избежать дублированияval kotlinVersion: Строка от экстра?

Ответы на вопрос(0)

Ваш ответ на вопрос