java.lang.IllegalStateException: Web app root system property already set to different value: 'webap
2015-12-29 13:17
507 查看
由于系统架构需要同时启动多个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>
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>
相关文章推荐
- 关于JSP配置文件web.xml加载顺序详解
- jsp web.xml文件的作用及基本配置
- JAVA web.xml 加载顺序
- j2ee之web.xml (Servlet 3.0)配置讲解
- 用过滤器处理乱码问题 javaweb
- struts2.2.3 web.xml文件配置
- Web.xml配置详解
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- web2.xml
- web3.xml
- web.xml配置详解
- context-param和init-param区别
- web.xml详细介绍
- [转]Struts配置文件详解,web.xml以及struts-cofig.xml,以及struts-cofig.xml中各个标签的作用。
- Java Web中web.xml文件的作用
- web.xml中各元素的加载顺序及其详解( 常用)
- Servlet配置文件 —— web.XML配置
- Web.xml配置文件常见配置
- web.xml filter url匹配
- web.xml 常用标签配置(转)