我們正在使用Spring Boot和相關的依賴關係從頭開發一個新的Web應用程序,並使用Gradle構建。Gradle構建具有不同屬性文件的多個.war文件
我們的項目具有測試幾乎5個階段,使用不同的服務器上的每個階段執行,從而與每個服務器上的略微不同的組態結束。
上述場景是一種非常常見的情況,通常是我在之前的項目中遵循的一種做法,將「屬性」文件直接保存在服務器的類路徑下,以便可以在多個服務器上部署相同的.war文件,仍然有基於服務器/環境的不同配置。
現在,以上設置中的明顯缺點是, - 這樣的設置不能被容易地通過一些版本控制器其他開發者共享。此外,我不能在構建過程中使用Gradle中的「處理資源」任務來介紹一些動態屬性。
現在,如果我拉項目設置中的屬性文件,然後我可以很容易的版本控制它,分享變得更容易,我還可以通過引入搖籃動態屬性。缺點是我可能必須在更新.properties文件後準備多個.war文件。
我有兩個問題?
- 您對上述2種方式有什麼想法?鑑於這種情況,你會選擇什麼以及爲什麼(處理這種情況的其他方式)?
- 在構建多個.war文件的第二種情況下,如何重新運行戰爭任務以生成新的輸出文件?
謝謝!
我正是這樣做的..因爲99%的屬性是相同的,我必須將我所有的屬性都推送到appliation.properties中。然後,因爲我只能從application.properties中控制活動配置文件,所以我也在同一個文件中包含可變部分(spring.profile)。因此,我結束了上述2個場景.. – rakpan
@FirstX你是什麼意思「控制活動配置文件」?你不要在你的屬性文件中設置活動配置文件,你可以在OS env var中設置它。此外,您可以擁有多個屬性文件 –