天天看點

web.xml配置webAppRootKey 的問題

在tomcat下部署兩個或多個項目時,web.xml檔案中最好定義webAppRootKey參數,如果不定義,将會預設為“webapp.root”,如下:

<!-- 應用路徑  -->  

    <context-param>  

        <param-name>webAppRootKey</param-name>  

        <param-value>webapp.root</param-value>  

    </context-param>  

最好報紙每個項目的參數值不同,以免引起項目沖突

 嚴重: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener

java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root' = [C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\DRMProject\] instead of [C:\Program Files (x86)\Apache Software Foundation\Tomcat

6.0\webapps\DRMSn\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!

對多個項目要對webAppRootKey進行配置,這裡主要是讓log能将日志寫到對應項目根目錄下,如我配置這兩個項目的webAppRootKey為

Xml代碼

        <param-value>webapp.root1</param-value>  

        <param-value>webapp.root2</param-value>  

這樣就不會出現沖突了。

定義以後,在Web Container啟動時将把ROOT的絕對路徑寫到系統變量裡。

然後log4j的配置檔案裡就可以用${webName.root }來表示Web目錄的絕對路徑,把log檔案存放于webapp中。