运行bootRun并使用其他application.properties文件

时间:2017-09-26 16:21:49

标签: spring spring-boot gradle

我希望能够在春季启动时运行bootRun,但除了src/main/resources/中的文件外,还要使用不同的application.properties文件。那可能吗?我不想覆盖src/main/resources/中的文件,因为它会弄脏文件。

这可能吗?

3 个答案:

答案 0 :(得分:1)

这就是我的bootRun任务的样子

bootRun {
    systemProperty "spring.config.location", "file:$projectDir/spring-config/"
    main = springBootAppClass
}

指定在项目的根文件夹中使用spring-config目录。

如果与@PropertySource结合使用,则看起来像这样

@PropertySource("${spring.config.location}/persistence.properties")

答案 1 :(得分:0)

您可以使用基于配置文件的配置选择。 只需设置系统环境属性:

spring.profiles.active=dev

现在在应用程序资源中提供application-dev.properties(src/main/resources/) 通过这种方式,您可以为不同的环境使用不同的属性。

如果要在其他位置提供文件,请使用此环境属性

spring.config.location=<path>

如果您希望在属性文件名中使用不同的名称,请使用此环境属性: spring.config.name=<new_name>

有关详情,请查看此链接: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html

答案 2 :(得分:0)

尝试此命令,

./gradlew bootRun --args='--spring.profiles.active=dev'

我也在寻找解决方案,在官方文档中找到了 https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/#running-your-application