Tomcat 一个项目启动成功 两个或多个项目启动失败 failed due to previous errors 问题处理

问题描述:
1)一个项目比如 demo1.war,部署时启动成功;
2)多个项目比如:demo1.war demo2.war,部署时第二个项目启动失败,报failed due to previous errors
3)demo2.war 单独部署时启动成功。
4)demo1, demo2项目都使用了SpringMVC

问题分析:
1)项目单独部署可以正常启动,因此项目配置正确,排除所谓的jar包冲突、xml文件配置异常等错误;
2)比较大的可能性就是webAppRootKey啦,因为web.xml配置了Log4jConfigListener,该Listener会将该webapp的项目路径设置到系统全局变量中,以便在可以使用系统全局变量的地方获取到webapp的项目路径,当webAppRootKey没显性设置过,其默认值为webapp.root,所以项目demo2启动时webAppRootKey读取的还是webapp.root,log4j初始化路径就出异常啦。

解决方法:
在每个项目的web.xml中设置webAppRootKey,如下:

  <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>saaserp.root</param-value>
  </context-param>
发布了294 篇原创文章 · 获赞 98 · 访问量 77万+

猜你喜欢

转载自blog.csdn.net/chuangxin/article/details/94590957