【发布时间】:2021-12-29 16:07:47
【问题描述】:
我正在使用 Gradle 应用程序插件和“distZip”任务将 Spring Boot 应用程序作为压缩的“bootJar”分发。最终用户将获得 zip 文件,解压缩并运行它,只需键入“myApp”(由插件很好地创建的 shell 脚本)。
我希望最终用户创建一个“myapp.properties”文件(我选择的名称)并将其放在安装目录中,或者安装目录下的“config”目录中。
假设我将嵌入的(在 jar 中)application.properties 文件设置如下:
-
spring.config.import = file:./myapp.properties只会从当前目录中读取 -
spring.config.import = file:/etc/myapp.properties将从指定目录读取——但我不知道这是在 构建时间(最终用户在 安装时间确定它)
如何设置我的应用程序,以便 Spring Boot 可以从稍后指定位置的外部文件中读取属性?
注意:我知道我可以使用生成的脚本来传递环境变量或 Spring Boot 属性,但我希望完全在 Spring Boot 中执行此操作,因此我不需要修改生成良好的 shell 脚本。
【问题讨论】:
标签: java spring spring-boot properties-file