2011-07-02 37 views
10

Estoy intentando crear un servicio web y desinflarlo en Tomcat. Estoy siguiendo this tutorial.java.lang.ClassNotFoundException: org.apache.catalina.core.ThreadLocalLeakPreventionListener

Estoy usando Eclipse Europa.

Pero cuando trato de iniciar el servidor devuelve este error:

java.lang.ClassNotFoundException: org.apache.catalina.core.ThreadLocalLeakPreventionListener 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
    at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:205) 
    at org.apache.tomcat.util.digester.Rule.begin(Rule.java:153) 
    at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1356) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:504) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1320) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525) 
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642) 
    at org.apache.catalina.startup.Catalina.load(Catalina.java:524) 
    at org.apache.catalina.startup.Catalina.load(Catalina.java:562) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:616) 
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:262) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:430) 

Respuesta

15

El ThreadLocalLeakPreventionListener se añadió recientemente a Tomcat. Está disponible en tomcat 7 y en la (s) última (s) versión (es) de tomcat 6. Asegúrese de tener el último tomcat 6, con una instalación limpia (su instalación puede tener el server.xml de la nueva versión y los frascos del anterior).)

+0

No puedo ver esta clase en Tomcat 6.0.35 (los últimos 6). Está presente en 7 aunque. –

+0

No en 6.0.45 tampoco. – michaelok

+0

No funcionó para mí. Esas opciones estaban deshabilitadas. Así que eliminé el servidor de la pestaña Servidor y lo agregué de nuevo con el Asistente para Nuevo Servidor y funcionó. :) –

0

su web.xml contiene una entrada para un oyente cuyo código se añadió en Tomcat 7.0.6 en adelante, pero su gato es más antigua que -

org.apache.catalina.core.ThreadLocalLeakPreventionListener

1

incluso tuve el mismo problema. Lo que debe hacer es ir a la pestaña de servidores y hacer clic con el botón izquierdo en el servidor Apache y hacer clic en Propiedades. Allí puede ver Ubicación apuntando a [metadatos del espacio de trabajo]. Haga clic en Cambiar ubicación. Cambiará a la ubicación de Apache/Servers/Tomcat xxx. Aplicar los cambios y guardar.

0

Si está utilizando la clase en server.xml, necesita eliminarla para eliminar el error/excepción.

<Listener 
className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/> 
Cuestiones relacionadas