您的位置:首页 > 运维架构 > Tomcat

Tomcat -- 多个Context启动冲突的问题解决

2017-07-04 16:54 387 查看
启动Tomcat时,如果部署多个Web应用,可能会看到如下异常信息:

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’ = [/Users/work/apache-tomcat-7.0.52/webapps/project1/] instead of [/Users/work/apache-tomcat-7.0.52/webapps/project2/] - Choose unique values for the ‘webAppRootKey’ context-param in your web.xml files!

假设有两个web应用:project1和project2

project1所在目录为:/Users/work/apache-tomcat-7.0.52/webapps/project1

project2所在目录为:/Users/work/apache-tomcat-7.0.52/webapps/project2

解决方法为:修改project1和project2中的web.xml文件

①修改project1的web.xml文件:

<context-param>
<param-name>webAppRootKey</param-name>
<param-value>project1</param-value>
</context-param>


②修改project2的web.xml文件:

<context-param>
<param-name>webAppRootKey</param-name>
<param-value>project2</param-value>
</context-param>


在Java代码中,可以通过如下方法获取webapp.root:

①获取project1的webapp.root

System.getProperty("project1");


输出为:

/Users/work/apache-tomcat-7.0.52/webapps/project1


②获取project2的webapp.root

System.getProperty("project2");


输出为:

/Users/work/apache-tomcat-7.0.52/webapps/project2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐