此篇文章的真正目的應該是關於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