【发布时间】:2023-03-07 21:09:01
【问题描述】:
我的构建文件如下所示:
val nexusBaseUri: String by extra
val gradle_version: String by extra
val kotlin_version: String by extra
buildscript {
val nexusBaseUri by extra { "https://mynexusserver/nexus" }
val gradle_version by extra { "4.1" }
val kotlin_version by extra { "1.1.4-3" }
val springBoot_version by extra { "2.0.0.M3" }
repositories {
maven { url = uri("$nexusBaseUri/repository/public") }
jcenter()
maven { url = uri("http://repo.spring.io/snapshot") }
maven { url = uri("http://repo.spring.io/milestone") }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBoot_version")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
classpath("org.jetbrains.kotlin:kotlin-allopen:$kotlin_version")
}
}
plugins {
application
// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
// the following line causes a problem
// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
kotlin("jvm", kotlin_version)
}
apply {
plugin("kotlin-spring")
plugin("org.springframework.boot")
plugin("io.spring.dependency-management")
}
application {
mainClassName = "eqip.fid.FdmlInterpreterDeveloperAppKt"
}
repositories {
maven { url = uri("$nexusBaseUri/content/groups/public") }
jcenter()
maven { url = uri("http://repo.spring.io/snapshot") }
maven { url = uri("http://repo.spring.io/milestone") }
}
dependencies {
compile(kotlin("stdlib"))
compile("org.springframework.boot:spring-boot-starter-web")
}
tasks {
"wrapper"(Wrapper::class) {
gradleVersion = gradle_version
}
}
我在 IntelliJ IDEA 中遇到的错误是
'val kotlin_version: String' 不能在此上下文中被隐式接收器调用。必要时使用显式的
我该如何解决这个问题?
【问题讨论】:
-
您不能在该部分中使用变量。这个问题已经在stackoverflow上提出了一个答案,只是想把答案放在这里,以防其他人遇到它。 stackoverflow.com/a/37749402/559536
标签: gradle kotlin gradle-kotlin-dsl