Gradle: Spring Boot 的带有 jvm 参数的自定义任务

Gradle: custom task with jvm arguments for Spring Boot

正在尝试为 Spring 启动创建一个小型自定义 gradle 任务,最初看起来像这样:

gradle bootRun --debug-jvm

任务应如下所示:gradle debugRun

我试过了,但没用:

task debugRun(dependsOn: 'bootRun') << {
    applicationDefaultJvmArgs = ['--debug-jvm']
}

如何将此调试标志传递给 bootRun 任务?

您的 debug 运行 任务依赖于 bootRun 任务是不够的。它需要修改现有的 bootRun 任务以启用调试。您可以通过检查 Gradle 的任务图中的 debugRun 任务来做到这一点。如果它在那里,您将 bootRun 任务的 debug 属性 设置为 true:

task debugRun(dependsOn:bootRun) {
    gradle.taskGraph.whenReady { graph ->
        if (graph.hasTask(debugRun)) {
            bootRun {
                debug = true
            }
        }
    }
}