我的Spring Boot项目有多个配置文件
但不是以同在resources目录下以生产、开发环境(例如 resources/application-dev.yml,resources/application-test.yml)这样区分的。
而是在不同的目录下,例如./config/application.yml,resources/application.yml,./application.yml
请问打包时如何指定配置文件呢?
还是说只能接受其默认的使用resources/application.yml的方式,在启动时指定外部配置文件?
或者是改成resources/application-dev.yml这种类型?
这个是项目中遇到的问题,同事不肯修改目录和结构,导致我现在很头疼,希望有更好的解决方案
其次,更想知道 spring boot项目默认打包时选用配置文件的规则
实测过,打包后最高优先级为jar包同路径yaml
次一级为jar包路径下的config路径下的yaml
之后就是jar包内resource内的yaml,在这个yaml里面可以配成使用jar包内部config目录下的yaml,也可以使用prod,test,dev这种激活方式
springboot 多环境配置 - Mr.yang.localhost - 博客园
1.springboot加载配置文件默认顺序为file:./config
/*/,file:./config/,file:./,classpath:./config/,classpath:./(不同版本有点差异)
2.常见做法是在同一目录下定义不同profile的配置文件,如application-dev.yml,application-test.yml,然后在application.yml中通过spring.profiles.active指定具体使用哪个配置文件
可以看下这个 http://t.csdn.cn/pOSbn
参考如下三个链接:
https://maven.apache.org/guides/mini/guide-building-for-different-environments.html