首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Gradle创建两个单独配置的bootRun任务?

如何使用Gradle创建两个单独配置的bootRun任务?
EN

Stack Overflow用户
提问于 2022-11-01 23:09:54
回答 1查看 30关注 0票数 0

我想使用Gradle在Spring应用程序中定义两个不同版本的bootRun任务。这是我的尝试,它成功地定制了单个bootRun任务。但是,对于包含bootRun的多个任务,最后一个bootRun将覆盖前面的任务。

代码语言:javascript
运行
复制
task local {
  bootRun {
    systemProperty "spring.profiles.active", "dev,postgres"
    jvmArgs "--add-opens=java.base/java.util=ALL-UNNAMED", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
  }
}
local.finalizedBy bootRun

task prod {
  bootRun {
    systemProperty "spring.profiles.active", "postgres"
    jvmArgs "--add-opens=java.base/java.util=ALL-UNNAMED"
  }
}
prod.finalizedBy bootRun

在这里,当我运行./gradlew :local时,spring配置文件仅为postgres。当我注释掉prod任务时,我得到了预期的两个dev,postgres

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-02 10:40:34

正如目前所写的,您的localprod任务是默认任务,没有真正做任何事情。您在配置中使用bootRun正在改变Spring的Gradle插件定义的现有bootRun任务的配置。

定义任务时,需要告诉Gradle它们是BootRun任务:

代码语言:javascript
运行
复制
task local(type: org.springframework.boot.gradle.tasks.run.BootRun) {
    // …
}

您还需要配置主类名和新任务的类路径。您可能希望它们与默认的bootRun任务相同:

代码语言:javascript
运行
复制
task local(type: org.springframework.boot.gradle.tasks.run.BootRun) {
    mainClass = bootRun.mainClass
    classpath = bootRun.classpath
}

然后,可以像以前一样自定义系统属性和JVM参数。将所有这些放在一起,您可以像这样配置您的localprod任务:

代码语言:javascript
运行
复制
task local(type: org.springframework.boot.gradle.tasks.run.BootRun) {
    mainClass = bootRun.mainClass
    classpath = bootRun.classpath
    systemProperty "spring.profiles.active", "dev,postgres"
    jvmArgs "--add-opens=java.base/java.util=ALL-UNNAMED", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
}

task prod(type: org.springframework.boot.gradle.tasks.run.BootRun) {
    mainClass = bootRun.mainClass
    classpath = bootRun.classpath
    systemProperty "spring.profiles.active", "postgres"
    jvmArgs "--add-opens=java.base/java.util=ALL-UNNAMED"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74282726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档