当前位置: 首页 > 知识库问答 >
问题:

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

汪才英
2023-03-14

尝试为Spring Boot创建一个最初如下所示的小型自定义gradle任务:

gradle bootRun --debug-jvm

任务应该如下所示:gradle debugRun

我尝试了这个,但它不工作:

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

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

共有1个答案

逄烨
2023-03-14

调试运行任务仅依赖于 bootRun 任务是不够的。它需要修改现有的 bootRun 任务才能启用调试。您可以通过在 Gradle 的任务图表中检查 debugRun 任务来执行此操作。如果存在,则将 bootRun 任务的调试属性设置为 true

task debugRun(dependsOn:bootRun) {
    gradle.taskGraph.whenReady { graph ->
        if (graph.hasTask(debugRun)) {
            bootRun {
                debug = true
            }
        }
    }
}
 类似资料:
  • 我想写一个Gradle任务,在我所有的子项目中共享。此任务在调用它的子项目中查找所有其他类型为“GenerateMavenPom”的任务,并执行这些任务。 通过这样做,我的子项目可以定义他们想要的任何Maven发布,我可以使用“gradle GenerateMavenPomFiles”等单个任务执行gradle来创建pom.xml,而不需要知道每个子项目中的单个发布类型。为什么?因为Maven插件

  • 我正在尝试创建一个自定义任务/插件(两者都拒绝工作),用于我的gradle构建脚本。 我正在使用groovy插件,希望在单独的文件中声明任务/插件,而不是在我的构建中。格拉德尔。 我的项目树如下所示: 我试图做的是在中创建我的任务/插件类,然后在。 让我举一个小例子。 TestTask。groovy: build.gradle 当我尝试使用我的gradle.build(清洁,构建等)做任何事情时,

  • 1.)在预定义数据库2中运行liquibase变更集。)对数据库3运行多个测试。)回滚使用前一个变更集所做的所有更改 每次测试时,我都希望数据库处于“干净”状态。它应该只有我期望的变化,没有其他。liquibase使用Gradle插件进行设置,并应用/更新变更集。但是,我不想手动调用该命令。这将是需要在持续集成中运行的东西,所以我需要编写脚本,让配置项调用一个任务,然后按顺序运行每个任务,直到结束

  • 我有一个用Gradle构建的Android应用程序,它包含BuildTypes和产品口味(变体)。例如,我可以运行这个命令来构建一个特定的APK: 我必须在build.gradle中创建一个自定义任务,例如:

  • 我想有一个gradle项目,使用自定义任务创建一个jar(不使用任何gradle java插件)。什么是正确的方法来构建build.gradle,以便我可以在我的Android应用程序的gradle项目中依赖它? 更多详情: 目前,我的jar文件是在我从gradle调用的cmake项目中创建的。我想要一个合适的体形。调用我的cmake命令的gradle文件然后使用生成的jar作为工件。然后,我希望

  • 我在JDK11上有一个使用maven的spring-boot应用程序,具有以下liquibase依赖项: changelog主文件名为db.changelog.xml,位于ProiectTest\src\main\resources\db下,在Application.Properties上具有以下配置: 我是不是漏掉了什么?根据我的了解,application.properties上的属性是所需要