【发布时间】:2011-02-07 23:14:29
【问题描述】:
我在 tomcat 的上下文路径中运行我的战争 - 比如说 /path1。
我对我的代码库进行了更多更改,添加了更多类、jar 等,现在在不影响 /path1 上运行的第一次战争的情况下,我想将这场战争添加到 /path2。
这个可以吗?
因为当我尝试这个时,第二次战争在弹簧加载时无法开始 -
SEVERE: Error listenerStart
Feb 7, 2011 4:46:44 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/path2] startup failed due to previous errors
虽然我已将日志级别设置为调试,但没有堆栈跟踪或任何东西。
我认为代码没有问题,因为当我在本地机器和第一个未运行的服务器上运行它时,它工作正常。当我尝试在 /path1 处于活动状态的服务器上运行它时,它会失败。
谢谢!
【问题讨论】:
-
您应该在 Tomcat 的日志目录中的一个日志中找到一些额外的日志消息
-
这意味着什么吗?信息: validateJarFile(/usr/share/tomcat6/webapps/path2/WEB-INF/lib/servlet-api-2.3.jar) - jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/servlet/Servlet.class。这出现在 listenerStart 错误之前。
-
请注意亚当的评论。 Tomcat 的启动错误记录在 Tomcat 自己的日志文件中,而不是 webapp 自己的日志文件中。查看 Tomcat 的
/logs文件夹。至于 INFO 消息,这已经是一种气味:您不应该在它所属/起源之外的类路径中的任何其他位置(servletcontainer 本身的/lib文件夹)中的任何其他地方拥有 servletcontainer 特定库的任何副本,因此也 不在您的 webapp 的/WEB-INF/lib文件夹中。删除/WEB-INF/lib中所有特定于 servletcontainer 的库。