2015-10-19 46 views
0

某些屬性已包含在屬性文件中,由Spring的ApplicationConfiguration文件(基於java的配置)引用。這些主要是url和數據庫屬性,這些屬性會根據部署環境而有所不同。構建之後,部署之前的屬性文件配置

該計劃是將屬性文件放在類路徑中。 builld(詹金斯)拍攝後,我將如何更改屬性文件。我應該能夠更改屬性文件並在相應的環境中再次部署它,而無需進行新的構建。有什麼建議嗎?

+2

將屬性文件放在tomcat的conf目錄下。該路徑應該在它的類路徑中 – Jens

+0

您是否在尋找比手動更換jar/war內的文件更復雜的東西(這是一個ZIP文件,所以任何archiever都會這樣做)。如果是這樣,你的要求是什麼? –

+0

@JiriTousek號所以我只需要把戰爭文件,解壓縮,編輯屬性文件,然後再壓縮它?但是我認爲將它作爲tomcat屬性的一部分會更方便,這樣部署團隊可以根據環境來處理這個問題嗎? – Chillax

回答

1

Spring文檔提供了大量的細節在你的選擇的外部化配置:

http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

可用的包括放置在你的classpath的根application.properties/application.yml選項,因此最簡單的方法可能是將它在你的tomcat conf目錄中。

+0

謝謝。我也這樣做。把它放在tomcat的conf目錄下。我在我的Spring配置文件中使用了 @PropertySource(「classpath:application.properties」)。但是,然後得到以下錯誤: java.io.FileNotFoundException:類路徑資源[application.properties]無法打開,因爲它不存在。我還能如何檢索它? – Chillax

+0

如果Tomcat的conf目錄不在您的應用程序的類路徑中,可以使用'file:'和全限定目錄進行測試。除此之外,也許要確保'catalina.properties'加載你的環境屬性文件。請參閱:https://www.mulesoft.com/tcat/tomcat-classpath – Steve

相關問題