2011-05-24 26 views
8

Traté de desplegar mi aplicación web Tomcat 6 en el servidor Tomcat 7, pero encontrar el siguiente problema que se produce si agrego elementos a mi web.xml:Porting Tomcat 6 a 7: Problema con <filter>

java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter 
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2687) 
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2713) 
    at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1060) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) 
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) 
    at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1694) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1209) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:882) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5081) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:620) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431) 
Caused by: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter 
    at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:802) 
    at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:201) 
    at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1057) 
    ... 36 more 

¿Hay algún cambio en la "notación de filtro" en Tomcat 7? Simplemente no puedo deshacerme del problema.

+0

¿Se puede publicar el contenido de la sección correspondiente de web.xml? Sospecho que los contenidos son inválidos, posiblemente debido a un cambio en el caso de uno de los elementos. –

+1

Necesita volver a publicar la respuesta como una respuesta real, no como una edición de pregunta. – BalusC

Respuesta

19

Pude resolver el problema (inspiración repentina): Maven estaba, por algún motivo, añadiendo catalina-5. * Lib como dependencia, por supuesto, incorrecta. Al eliminar esta lib, todo funciona bien.

+0

¡Muchas gracias! –