关于SpringBoot配置文件优先级:
在yaml文件中,一般使用profilies-active来指定配置环境
spring:
profiles:
active: dev
但是其实配置文件之间也有优先级,其中命令行的优先级是最高的
就是在流水线切换分支时,并不需要特意切换配置环境为test
因为在打镜像时,命令行已经有配置spring.profiles.active=${active},其中 CMD 时指定docker容器启动时要执行的命令
ADD ./b/target/b-0.0.1-SNAPSHOT.jar /java/b-service-0.0.1-SNAPSHOT.jar
CMD java ${JAVA_OPTS} -jar /java/b-service-0.0.1-SNAPSHOT.jar --spring.profiles.active=${active}
在部署的时候就指定了config文件
- java -jar 命令行中,通过 --spring.config.location 参数指定的方式优先级最高
- 项目 jar 包同级下直接放 properties 文件次之,直接把配置文件放到 jar 包的同级目录
- 项目内部的 classpath 同级 config 文件夹,在 classpath 下建一个 config 文件夹,然后把配置文件放进去
- 项目内部的 classpath 同级放 properties yum 文件是最低优先级,是在 classpath 下直接放配置文件