当Servlet 3.0应用程序启动时,容器必须扫描所有类以查找批注(除非Metadata-complete = true)。Tomcat使用Apache Commons bcel的派生叉(无添加,仅删除了未使用的代码)进行此扫描。Web应用程序无法启动,因为bcel遇到了一些它不了解的问题。
如果应用程序在Tomcat 6上运行良好,则在web.xml中添加Metadata-complete =“ true”或在web.xml中将应用程序声明为2.5应用程序将停止注释扫描。
目前,这看起来像是正在扫描的类中的问题。但是,直到我们知道哪个类导致了问题并仔细研究,我们才知道。我将需要修改Tomcat来记录一条更有用的错误消息,该消息将问题类命名。您可以在以下位置关注进度:https ://issues.apache.org/bugzilla/show_bug.cgi?id=53161