SpringBoot项目war、jar自定义配置application文件的位置

此篇文章的真正目的应该是关于war包运行在独立tomcat下时,应如何在war包外部配置application.properties,以达到每次更新war包而不用更新配置文件的目的。
百度搜素SpringBoot配置文件,基本上会得到如下信息:
SpringBoot配置文件可以放置在多种路径下,不同路径下的配置优先级有所不同。
可放置目录(优先级从高到低)
1.file:./config/ (当前项目路径config目录下);
2.file:./ (当前项目路径下);
3.classpath:/config/ (类路径config目录下);
4.classpath:/ (类路径config下).
优先级由高到底,高优先级的配置会覆盖低优先级的配置;
SpringBoot会从这四个位置全部加载配置文件并互补配置;

想要满足不更新配置文件的做法一般会采用1 和 2,但是这些对于运行在独立tomcat下的war包并不比作用。
我这里采用的是SpringBoot的Profile配置。
在application.properties中增加如下配置:

spring.profiles.active=test1

再在tomcat根目录下新建一个名为config的文件夹,新建一个名为application-test1.properties的配置文件。
完成该步骤后,Profile配置已经完成了。
然后还需要将刚刚新建的config文件夹添加到tomcat的classpath中。
打开tomcat中catalina.properties文件,在common.loader处添加"${catalina.home}/config",此处的config即之前新建的文件夹名称。
如此,大功告成。程序启动之后,每次配置文件都会从config/application-test1.properties加载。

yml格式的配置文件设置相同

 

转自:https://blog.csdn.net/dashuaigege642/article/details/88245250

posted @   dcrenl  阅读(1254)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示