首页 > 解决方案 > 如何在 Kotlin DSL 中的“运行”上设置系统属性

问题描述

Kotlin DSL 中的等价物是什么:

run {
    systemProperties["spring.output.ansi.enabled"] = "always"
}

我试过了:

run {
    systemProperties("spring.output.ansi.enabled" to "always")
}

但得到:

* What went wrong: Script compilation error:

Line 37:     systemProperties(Pair("spring.output.ansi.enabled", "always"))
             ^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
                 public inline fun JavaExec.systemProperties(vararg properties: Pair<String, Any?>): JavaExec defined in org.gradle.kotlin.dsl
                 public inline fun Test.systemProperties(vararg properties: Pair<String, Any?>): Test defined in org.gradle.kotlin.dsl
                 public inline fun JavaForkOptions.systemProperties(vararg properties: Pair<String, Any?>): JavaForkOptions defined in org.gradle.kotlin.dsl

标签: gradlekotlingradle-kotlin-dsl

解决方案


根据https://docs.gradle.org/current/userguide/kotlin_dsl.html#tasks

tasks {
    named<JavaExec>("run") {
        systemProperty("spring.output.ansi.enable", "always")
    }
}

推荐阅读