我們有一個Grails應用程序,它使用dfc.jar
和dctm.jar
API連接到Documentum文檔庫。這些jar文件需要在類路徑上有一個dfc.properties
文件來配置文檔庫設置。在一個環境中工作時這很好,但我們正在爲dev
,test
和prod
環境構建戰爭文件,每個環境都有其自己的dfc.properties
配置。Grails DFC的多環境配置問題
Grails環境配置非常適合處理應用程序中的其他特定於環境的設置,但我無法想出一種方法來在每個環境中覆蓋dfc.properties
文件或配置Documentum API以從中檢索它的設置別的地方。
我已經考慮過具有特定環境的屬性文件,然後在每次構建戰爭之前運行一個shell腳本以將它們複製到dfc.properties
文件,但是這感覺就像是太多的黑客攻擊。我希望能夠做三個戰爭版本,而不會混淆它複製不同版本的屬性文件。
grails dev war
grails test war
grails prod war
關於如何解決這個多環境配置問題的任何建議將不勝感激。
也許你可以研究在war文件之外保留屬性文件,但在運行時將其添加到類路徑中。例如,大多數Web服務器都有一個可以放置要在應用程序之間共享的jar文件的位置。假設你有不同的開發,測試和產品服務器,屬性文件可能只存在於服務器上。當您執行「grails test-app」時,您可能需要在您的Grails測試目錄下的另一個地方。 – GreyBeardedGeek
我認爲以下鏈接中描述的解決方案適用於您的案例。 http://stackoverflow.com/questions/10629151/how-do-i-derive-physical-path-of-a-relative-directory-inside-config-groovy/10629778#10629778 –
@GreyBeardedGeek我想分開'dfc .properties',以便它與環境特定的戰爭文件分開部署,打破戰爭的一體化特性。我認爲這打開了一個版本的戰爭部署的可能性,但相應的'dfc.properties'沒有更新。 – GeoGriffin