【问题标题】:Pass gradle command line arguments to application.properties将 gradle 命令行参数传递给 application.properties
【发布时间】:2021-02-25 10:11:33
【问题描述】:

我有一个 Spring Boot Gradle 应用程序和许多 MySQL 服务器和数据库。 在不同的场景中,我想用不同的数据库启动应用程序,或者如果它们不存在则创建它们。我想将此机制与命令行参数一起使用。 数据库的 URL 存储在 Spring 的 application.properties 文件中:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb1?createDatabaseIfNotExist=true&useSSL=true

我想使用将应用于 application.properties 文件的命令行参数运行 gradle,所以在我的脑海中会是这样的。

application.properties: spring.datasource.url=jdbc:mysql://${linkNewDB}?createDatabaseIfNotExist=true&useSSL=true

并将程序运行为: gradle bootRun -Pargs=--linkNewDB="someNewDB:3309"

有人知道我怎样才能实现这种机制吗?我尝试了不同的选择,但都没有奏效。谢谢!

【问题讨论】:

    标签: java spring gradle


    【解决方案1】:

    如何更改整个 URL,如下所示:

    gradle bootRun --args='--spring.datasource.url=jdbc:mysql://someNewDB:3309?createDatabaseIfNotExist=true&useSSL=true'
    

    参考:https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#running-your-application.passing-arguments

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-30
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      相关资源
      最近更新 更多