2011-07-02 32 views
10

Tôi đang cố tạo một dịch vụ web và mô tả nó trên Tomcat. Tôi đang theo dõi this tutorial.java.lang.ClassNotFoundException: org.apache.catalina.core.ThreadLocalLeakPreventionListener

Tôi đang sử dụng Eclipse Europa.

Nhưng khi tôi cố gắng để khởi động server nó sẽ trả về lỗi này:

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) 

Trả lời

15

Các ThreadLocalLeakPreventionListener đã được bổ sung gần đây tại những tomcat. Nó có sẵn trong tomcat 7 cũng như phiên bản mới nhất của tomcat 6. Hãy chắc chắn rằng bạn có tomcat mới nhất 6, với một cài đặt sạch (cài đặt của bạn có thể có server.xml từ phiên bản mới và lọ từ cũ hơn)

+0

Tôi không thể thấy lớp này trong Tomcat 6.0.35 (mới nhất 6). Nó hiện diện trong 7 mặc dù. –

+0

Không bằng 6,0,45. – michaelok

+0

Không hiệu quả với tôi. Các tùy chọn đó đã bị tắt. Vì vậy, tôi đã xóa máy chủ khỏi tab Máy chủ và thêm lại với Trình hướng dẫn Máy chủ Mới và nó đã hoạt động. :) –

0

web.xml của bạn có chứa mục nhập cho người nghe có mã đã được thêm vào trong Tomcat 7.0.6 trở đi, nhưng tomcat của bạn cũ hơn đó -

org.apache.catalina.core.ThreadLocalLeakPreventionListener

1

thậm chí tôi phải đối mặt với cùng một vấn đề. Những gì bạn cần làm là, đi đến tab máy chủ và nhấp chuột trái vào máy chủ Apache và nhấp vào thuộc tính. Ở đó, bạn có thể thấy Vị trí trỏ tới [siêu dữ liệu không gian làm việc]. Nhấp vào chuyển đổi Vị trí. Nó sẽ chuyển sang vị trí Apache/Servers/Tomcat xxx.Thêm các thay đổi và lưu.

0

Nếu bạn đang sử dụng lớp trong tệp server.xml, bạn cần phải loại bỏ nó để loại bỏ lỗi/Ngoại lệ.

<Listener 
className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/> 
Các vấn đề liên quan