相信用SpringBoot的,无论大神和菜鸟都有过在生产环境修改配置文件的烦恼。我之前的修改方式:
1、本地先修改完配置文件,打个jar包扔到服务器上(感觉自己是个傻子)
2、压缩软件7z打开jar包,抽出application.properties修改完再塞回去(也挺傻的)
3、复制多个配置文件,并根据环境指定配置文件,如下
- application-dev.properties:开发环境
- application-prod.properties:生产环境
java -jar xxx.jar --spring.profiles.active=dev
诶,这个不错,终于没之前那么傻了。
但是,能不能把application.properties放在和jar包同一个目录呢?因为本地配置完生产环境的文件,还是有可能要修改的。
实验结果:可以,直接把application.properties放在和jar包同一个目录,不要任何额外修改。
我先把结果放上,下面开始实验过程
1、先打包一个springboot项目,将配置文件抽出
抽出application.properties文件后,删除jar包内application.properties文件,如下图
2、下面开始运行这个jar文件试试
运行成功,并且端口号是8088,那么如果jar包内的application.properties文件仍存在,2个文件的优先级谁高?
3、将application.properties文件放回jar包内,并把jar包外的属性文件端口号改为8087,看结果是哪一个优先级高
可以看到二者同时存在时,端口号是8087,以jar包外的属性文件为主。