springboot 打包外置配置文件

以springboot 2.2.1为例,在系统启动方法如 WebApplication 里添加注解

@PropertySource(value = {"file:${spring.profiles.path}/schedule_settings.properties"})

并在对应的配置文件实体添加同样的注解,如:

@PropertySource(value = {"file:${spring.profiles.path}/schedule_settings.properties"})
@ConfigurationProperties(prefix = "schedule")

在application.yml 或 application.properties 或 application-xxx.yml里添加spring.profiles.path 如:

profiles:
  path: ~/xxxxx/xxxxxxx/scheduletask/target

打包后,把自定义的配置文件如schedule_settings.properties 放在jar 包的同一个目录 或使用如下启动参数启动:

java -jar xxxxxxx.jar –spring.profiles.path=/xxxx/xxxxx/target