web-dev-qa-db-fra.com

java.lang.ClassNotFoundException: org.Apache.catalina.core.ThreadLocalLeakPreventionListener

J'essaie de créer un service Web et de le déployer sur Tomcat. Je suis ce tutoriel .

J'utilise Eclipse Europa.

Mais lorsque j'essaie de démarrer le serveur, il renvoie cette erreur:

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)
10
rogcg

La ThreadLocalLeakPreventionListener a été ajoutée récemment à Tomcat. Il est disponible dans Tomcat 7 ainsi que dans les versions les plus récentes de Tomcat 6. Assurez-vous de disposer de la dernière version de Tomcat 6, avec une installation propre (votre installation peut contenir le server.xml de la nouvelle version et les fichiers jar de )

15
Bozho

même si je faisais face au même problème. Ce que vous devez faire est d'aller dans l'onglet Serveurs, cliquer avec le bouton gauche sur le serveur Apache et cliquer sur les propriétés. Vous pouvez y voir Emplacement pointant vers [métadonnées de l'espace de travail]. Cliquez sur Changer de lieu. Il passera à l'emplacement Apache/Servers/Tomcat xxx.Appliquez les modifications et enregistrez.

1
Abhishyam

Votre fichier web.xml contient une entrée pour un écouteur dont le code a été ajouté à partir de Tomcat 7.0.6, mais votre Tomcat est plus ancien que cela -

org.Apache.catalina.core.ThreadLocalLeakPreventionListener

0
Kuldeep Tiwari

Si vous utilisez la classe dans server.xml, vous devez la supprimer pour supprimer l'erreur/l'exception.

<Listener 
className="org.Apache.catalina.core.ThreadLocalLeakPreventionListener"/>
0
user3709172