springboot項目打成jar包,默認讀取的classpath路徑下的配置文件,config.properties是自定義配置文件。
如果要把config.properties配置放在jar包外面,方便修改配置,
1.在啟動類或者配置類上添加@PropertySource注解,value參數配置掃描路徑,可以為多個,當ignoreResourceNotFound為true時,項目啟動的時,先從第一個路徑去找配置文件,如果找不到,再從第二個路徑去找,以此類推...
@Data @Component @ConfigurationProperties @PropertySource(value = {"classpath:config.properties","file:${spring.profiles.path}/config.properties"},ignoreResourceNotFound = true) public class ConfigBean { }
spring.profiles.path:config.properties文件所在的路,可以在application.yml配置,
不過為了方便,spring.profiles.path一般在jar包啟動的時候傳入:
java -jar xxx.jar --spring.profiles.path=xxx
這樣,jar啟動的時候根據傳入的參數去讀取自定義配置文件