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

来源:互联网 发布:股票k线数据如何获得? 编辑:程序博客网 时间:2024/04/30 03:45

由于系统架构需要同时启动多个web项目,开发时每个项目用不同的tomcat启动,没有任何问题,等到发布时放在同一个tomcat中时出现异常信息,分析原因如下:
webAppRootKey是在java web项目的web.xml配置文件中表示项目的唯一标示,在Eclipse调试Web项目时,项目的路径是一个临时路径,不在真正的路径下,可以通过log4j日志的方式打印出属性值,来看看临时项目路径在哪里,可以用System.getProperty("web.sample.root");如果web.xm 内没有设置webAppRootKey项,是为默认设置,那么webAppRootKey就是缺省的"webapp.root"。

 
 
 
 
 
解决办法:    两个web应用中定义了相同的webAppRootKey或者都没有定义,则现在就需要为每个web都定义一个webAppRootKey。
 
         ### app1:
<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>app1.root</param-value>
</context-param>
 
### app2:
<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>app2.root</param-value>
</context-param>
 
 
0 0
原创粉丝点击