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

Posted

技术标签:

【中文标题】Gradle:带有用于 Spring Boot 的 jvm 参数的自定义任务【英文标题】:Gradle: custom task with jvm arguments for Spring Boot 【发布时间】:2016-06-21 03:37:27 【问题描述】:

尝试为 Spring Boot 创建一个小的自定义 gradle 任务,最初看起来像这样:

gradle bootRun --debug-jvm

任务应如下所示:gradle debugRun

我试过了,但它不起作用:

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

太棒了!正是我需要的。谢谢。

以上是关于Gradle:带有用于 Spring Boot 的 jvm 参数的自定义任务的主要内容,如果未能解决你的问题,请参考以下文章

带有 Gradle 的 Spring Boot 任务失败:测试?

带有spring-cloud的Spring Boot:gradle构建失败

带有 kotlin 设置问题的 Spring Boot gradle 项目

带有私有仓库的 Spring Boot Gradle bootBuildImage 任务

如何使用带有 gradle 的多个嵌入式服务器运行 spring-boot 集成测试

将带有 Gradle 的单片 Spring Boot 应用程序转换为多模块失败