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