Deployment
為不同部署分離tomcat配置文件的最佳方法?
現在,所有特定於應用程序的配置都在 中完成
conf/Catalina/localhost/myWebApp.xml
,並且此文件在不同的部署場景(測試/生產/個人等)之間發生變化。我最初的想法是創建多個以顯式配置命名的配置文件。理想情況下,這些特定於部署的配置文件可以互換。也就是說,包含在部署之間更改的參數的配置文件的切換將是切換部署所需的唯一配置更改。這樣做的最佳方法是什麼?我可以用tomcat覆蓋屬性嗎?如何為 webapp 上下文使用多個配置文件?如果我可以覆蓋,我如何指定覆蓋優先級?
謝謝。
顯然,您可以做的最好的事情是建構一個變數解析引擎,為您需要的不同部署創建多個部署文件。
從核心伺服器端,您可以在啟動時傳入 Tomcat 配置本身,而不是使用預設值,如下所示:
cd $TOMCAT_HOME ./bin/startup.sh -config /some/path/to/server.xml
這個 server.xml 為 webapps 定義了你的“host”元素,它有幾個關於如何部署的屬性(看看預設的)。配置文件在這裡:
http://tomcat.apache.org/tomcat-6.0-doc/config/host.html
在該文件中再往下看一下它開始談論“自動應用程序部署”的地方——有一些措辭開始談論不同的 XML 文件。也許引擎具有的這些定義的程序之一將允許創建一個滿足您需求的工作場景;不過,我並沒有完全按照您的要求完成,通常會部署一個 WAR,其中包含它自己的 XML 並且是自動解包的——我不會在 webapps/foo/ 區域中覆蓋解包後的文件。