我最近寫了我的第一個Grails應用程序。 該應用程序是一個「產品」,我希望構建一個可以作爲戰爭文件部署到多個客戶的應用程序的單一版本。如何管理部署爲「產品」的grails應用程序的配置?
我需要能夠以不同方式配置每個應用程序。 什麼是將Grails應用程序部署爲產品的「最佳實踐」。
我最近寫了我的第一個Grails應用程序。 該應用程序是一個「產品」,我希望構建一個可以作爲戰爭文件部署到多個客戶的應用程序的單一版本。如何管理部署爲「產品」的grails應用程序的配置?
我需要能夠以不同方式配置每個應用程序。 什麼是將Grails應用程序部署爲產品的「最佳實踐」。
我在grails site上搜索了一下後發現了這個文檔。
3.4外部配置
Grails中,應用程序的默認配置文件的Config.groovy/conf目錄是在大多數情況下罰款,但要保持外的主文件中的配置有可能的情況下應用結構。例如,如果要部署到WAR,某些管理員更願意將應用程序的配置外化,以避免由於配置更改而重新打包WAR。
爲了支持這樣的部署方案,可以對配置進行外部化。要做到這一點,你需要在Grails的應該使用的配置文件的位置指向的Grails通過增加grails.config.locations Config.groovy中設置:
grails.config.locations = [ "classpath:${appName}-config.properties",
"classpath:${appName}-config.groovy",
"file:${userHome}/.grails/${appName}-config.properties",
"file:${userHome}/.grails/${appName}-config.groovy"]
在我們加載配置文件上面的例子(Java屬性文件和ConfigSlurper配置)來自類路徑上的不同位置以及位於USER_HOME中的文件。
最終,所有配置文件都被合併到GrailsApplication對象的config屬性中,因此可以從那裏獲得。
請參閱this鏈接上的外部配置部分。我不確定這是否會配置您需要的所有內容,但它應該是一個開始,並且將涵蓋諸如數據源等基礎知識。
您可以詳細說明您需要的客戶特定更改嗎?是否僅限於grails-app/conf Groovy文件,還是需要更改其他參數(如Tomcat設置)? – 2010-02-24 16:58:37
這真的只是grails-app/conf文件。我想我找到了我的答案。 – ScArcher2 2010-02-24 17:13:16