当前位置: 代码网 > it编程>编程语言>Java > 部署springboot项目读取外部配置文件实现过程

部署springboot项目读取外部配置文件实现过程

2026年04月26日 Java 我要评论
部署springboot项目读取外部配置文件我们在部署springboot项目的时候,经常会遇到这样的情况:测试环境与生产环境的配置不一样,这就导致每次部署的时候都要修改配置文件再打包,即使用了nac

部署springboot项目读取外部配置文件

我们在部署springboot项目的时候,经常会遇到这样的情况:

测试环境与生产环境的配置不一样,这就导致每次部署的时候都要修改配置文件再打包,即使用了nacos进行配置管理,但测试环境与生产环境的nacos部署的地方肯定不一样,所以每次部署的时候还是需要修改配置文件里的nacos地址,这样比较麻烦,有时候还可能会忘记修改。

经过查资料了解到其实springboot可以读取外部配置文件,即在springboot应用启动后,不直接使用jar包里面的配置文件,而是读取某个目录下的配置文件,然后进行覆盖,从而实现应用与配置分离,这样就不用每次部署都修改配置文件了。

官方文档里的描述

springboot官方文档地址

从官方文档里的描述可以知道:

springapplication读取配置文件的方式有四种,并且是有优先级的,所有方式下的配置文件都会被读取,高优先级的内容会覆盖低优先级的内容

四种读取方式

如下:

  • 1、在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹里
  • 2、直接把配置文件放到jar包的同级目录
  • 3、在classpath下建一个config文件夹,然后把配置文件放进去
  • 4、在classpath下直接放配置文件

项目被打成jar包后,配置文件会被放在boot-inf的classes目录下:

这就是上面所说的第四种读取方式,也是优先级最低的读取方式

综上所述,我们可以使用第一、二种配置文件读取方式来实现应用与配置分离,我这里是用的第二种方式,将配置文件放到了jar包的同级目录:

这样当项目启动的时候,它就会去读取这个配置文件,并且覆盖掉jar包里的配置文件

如果想把配置文件放在任意目录,那就需要在jar包的启动命令里指定配置文件的路径,

参数如下:

spring.config.location=xxx

完整配置示例如下:

nohup java -jar nms-alarm-manager.jar --spring.config.location=/home/my-config/bootstrap.yml &

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com