两个产品测试上线,部署在一个tomcat中,一开始部署成功。但是后续更新的时候,发现其中一个可以正常访问,另外一个无法访问。当时那个着急啊。
后来细心发现,服务启动的时候,后台log有一个错误信息。
java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root' = [/home/test/app1/] instead of [/home/test/app2/] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
Tomcat发布多个项目时抛的webAppRootKey错误,单独部署一个项目可以运行,两个项目同时运行先启动的可以运行,后启动的项目不会读本项目的web.xml信息。
修改web.xml文件, 部署在同一容器中的Web项目,要配置不同的webAppRootKey <param-value>。
修改app1的web.xml
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>app1.root</param-value>
</context-param>
修改app2的web.xml
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>app2.root</param-value>
</context-param>
然后重启Tomcat服务器。两个工程都可以正常访问了!
时间: 2024-10-20 14:22:13