通常情况下,我的Tomcat启动实例没有任何问题。但是,当我向“预览”Web应用程序添加新过滤器时,该应用程序无法启动:
09-Jun-2011 12:23:49 org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
09-Jun-2011 12:23:49 org.apache.catalina.core.StandardContext start
SEVERE: Context [] startup failed due to previous errors
09-Jun-2011 12:23:49 com.polopoly.application.StandardApplication destroy
INFO: Application 'preview' destroy started.
Tomcat本身就开始了 - 其他战争/网络应用程序正常部署并正常启动。
由于日志中没有堆栈跟踪,我不确定问题是什么。我无法将远程调试器连接到应用程序,因为它不再运行。我可以在应用程序的初始化或过滤器上放置断点吗?
在Tomcat中启动Web应用程序期间调试问题的最佳方法/首选方法是什么?
答案 0 :(得分:12)
当然可以。只需将所有tomcat源放入IDE,然后使用
启动tomcatcatalina jpda start
放入适当的断点。例如某处org.apache.catalina.core.StandardContext
。
如果仍然无法捕获问题,请使用命令行:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
suspend=y
在这里非常重要。
但我认为问题不在于tomcat本身,而在于你的应用程序。所以,从调试开始吧。将断点放入所有入口点(servlet,过滤器,监听器等)如果不起作用,请执行以下操作。
从web.xml中注释掉所有内容。启动应用。工作?精细!现在取消注释你的一半东西。等等。
我相信你能找到问题所在。祝你好运。