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