2011-06-09 86 views
4

通常,我的Tomcat实例启动时没有任何问题。然而,当我添加一个新的过滤器“预览”的Web应用程序,该应用程序无法启动:调试Tomcat应用程序启动

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本身精细开始 - 其他战争/ Web应用程序部署并启动正常。

由于日志中没有堆栈跟踪,我不确定问题是什么。我无法将远程调试器连接到应用程序,因为它不再运行。我可以在应用程序或过滤器的初始位置放置断点吗?

在Tomcat中启动Web应用程序期间调试问题的最佳方法/首选方法是什么?

+0

'filter'的'init'中可能会出现一些错误,该错误未记录 – 2011-06-09 12:00:58

+0

tomcat版本? – timbooo 2011-06-09 12:00:58

+0

@Jigar - 是的,这就是我的想法,但没有错误出现在标准输出中。我应该从哪里开始调试? – Mikaveli 2011-06-09 12:02:45

回答

11

当然可以。只要把所有的tomcat源到您的IDE,然后使用

卡塔利娜JPDA启动

把适当的破发点,启动tomcat。例如某处org.apache.catalina.core.StandardContext

如果仍然不能抓住问题使用命令行: -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y

suspend=y在这里很重要。

但我认为这个问题不是在tomcat本身,而是在你的应用程序中。所以,从调试开始。将断点放入所有入口点(servlet,过滤器,侦听器等)如果不起作用,请执行以下操作。

从web.xml注释掉所有内容。启动应用。加工?精细!现在取消一半你的东西。等等。

我相信你将能够找到问题。祝你好运。

+0

+1。很好的答案,谢谢。 :) – Mikaveli 2011-06-09 12:16:53

+2

该死的,我在打字。 – 2011-06-09 12:17:08

+0

@Vineet - 只需添加任何有用的东西即可。 – Mikaveli 2011-06-09 12:19:50

相关问题