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启动的时候根据传入的参数去读取自定义配置文件