tomcat中同時部署兩個項目的問題

 最近直接把兩個項目打成war包在tomcat下發布,出現了不少莫名奇妙的問題,就是不能發佈成功,只能有一個項目能成功,在網上查了不少方法,覺得是兩個項目中jar包出現衝突,也按照網上的方法把兩個項目中相同的jar包找出來放在了tomcat的lib目錄下。結果仍是無論用,只能啓動一個,另一個被中斷。
      最後爲了測試,我把2個項目都放在eclipse下同時部署2個項目並啓動tomcat,終於報錯啦,而這個錯誤就是解決問題的關鍵  錯誤以下: java

java.lang.IllegalStateException: Web app root system property already set to different value

 

看了這篇帖子明白啦
http://blog.csdn.net/downloadsunlight2009/article/details/7514634

webAppRootKey是在java web項目的web.xml配置文件中表示項目的惟一標示,在Eclipse調試Web項目時,項目的路徑是一個臨時路徑,不在真正的路徑下,能夠經過log4j日誌的方式打印出屬性值,來看看臨時項目路徑在哪裏,能夠用System.getProperty("web.sample.root");若是web.xm 內沒有設置webAppRootKey項,是爲默認設置,那麼webAppRootKey就是缺省的"webapp.root"。

因爲個人兩個項目都沒有設置這個webAppRootKey值,因此兩個webRootKey都是默認缺省值。發生錯誤 web


解決辦法:
在其中一個項目中的web.xml文件中的log4jlitener下面添加以下解決辦法: spring

<listener> 
	<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
	</listener> 
	   <context-param> 
	     <param-name>webAppRootKey</param-name> 
	     <param-value>app.root</param-value> 
	   </context-param> 
	<context-param>
相關文章
相關標籤/搜索