Webサービスを作成してTomcatにデプロイしようとしています。私はフォローしています このチュートリアル 。
私はEclipseEuropaを使用しています。
しかし、サーバーを起動しようとすると、次のエラーが返されます。
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)
ThreadLocalLeakPreventionListener
は最近Tomcatに追加されました。これは、Tomcat7およびTomcat6の最新バージョンで使用できます。クリーンインストールされた最新のTomcat6があることを確認してください(インストールには、新しいバージョンのserver.xml
とjarが含まれている可能性があります。古いものから)
私も同じ問題に直面しました。あなたがする必要があるのは、サーバータブに移動し、Apacheサーバーを左クリックしてプロパティをクリックすることです。ここで、[ワークスペースメタデータ]を指す場所を確認できます。スイッチの場所をクリックします。 Apacheの場所/ Servers/Tomcatxxxに切り替わります。変更を適用して保存します。
Web.xmlには、Tomcat 7.0.6以降でコードが追加されたリスナーのエントリが含まれていますが、Tomcatはそれよりも古いです-
org.Apache.catalina.core.ThreadLocalLeakPreventionListener
Server.xmlでクラスを使用している場合は、エラー/例外を取り除くためにクラスを削除する必要があります。
<Listener
className="org.Apache.catalina.core.ThreadLocalLeakPreventionListener"/>