gradle - 如何在Kotlin DSL中的 `run`上设置系统属性

标签 gradle kotlin gradle-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

最佳答案

我相信Kotlin会误认为run块为其内置的run方法。
如果您指的是应用程序的插件,则可以使用以下命令配置其运行时属性

application {
   applicationDefaultJvmArgs = listOf("-Dspring.output.ansi.enabled=always")
}

在这里查看更多:

https://docs.gradle.org/current/userguide/application_plugin.html

关于gradle - 如何在Kotlin DSL中的 `run`上设置系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53898859/

相关文章:

java - 即使存在主类,Java也无法找到主类

android - 如何在代码中使用 JAR?在 Android Studio 中很容易,但在 IntelliJ IDEA 中不起作用

java - 创建自定义gradle插件来分析java源代码并生成代码

kotlin - Kotlin 中 lambda 函数参数的默认值

spring-boot - 使用 Kotlin 观察参数类型不匹配的 Spring Amqp Remoting

gradle - Heroku 无法识别 gradle - 找不到 pom.xml 文件

java - 在 bitbucket 管道上执行 gradle 后出现 "Could not complete execution for Gradle Test Executor 2"错误

java - Gradle:kotlin 测试在测试中看不到 java 文件

android - 我正在使用最新的 kts 构建工具来学习 Android hilt,但是 kapt 似乎有一些问题

android - org.gradle.api.InvalidUserCodeException : Querying the mapped value of provider (java. util.Set) before task ... 已完成不支持