2012-10-10 48 views
7

फेंकता है मेरे पास जावा वेब एप्लिकेशन है। मैं, इस नई परियोजना और जब मैं एक jsp चलाने निम्न अपवाद हो रही,Servlet.service() क्लासकास्टएक्सप्शन

Oct 10, 2012 3:01:49 AM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet jsp threw exception 
java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor 
    at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:151) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:619) 
Oct 10, 2012 3:01:57 AM org.apache.catalina.loader.WebappClassLoader modified 
INFO:  Additional JARs have been added : 'activation-1.1.jar' 
Oct 10, 2012 3:01:57 AM org.apache.catalina.core.StandardContext reload 
INFO: Reloading this Context has started 
Oct 10, 2012 3:01:57 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 
SEVERE: The web application [/AutoUpgrade] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 
Oct 10, 2012 3:01:57 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 
SEVERE: The web application [/AutoUpgrade] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak. 

मैं साफ करने की कोशिश की और इस परियोजना में कई बार निर्माण, नवीनतम सेवा-api.jar हो रही है की स्थापना की है मेरी lib बहुत व्यापक है और मैं यह नहीं समझ सकता कि क्या इस त्रुटि के कारण किसी भी जार के बीच कोई असंगतता है या नहीं। मैं जेडके 1.6 पर अपाचे टॉमकैट 6 पर प्रोजेक्ट चला रहा हूं (मेरी परियोजना को 1.6 पर चलाने की जरूरत है)। मैंने इस अपवाद को गुगल करने का प्रयास किया है, लेकिन मेरी समस्या के लिए कोई पोस्ट प्रासंगिक नहीं है। NullPointerException के बारे में stackoverflow बात पर प्रासंगिक प्रश्न।

मुझे लगता है कि समस्या मेरी लाइब्रेरी के साथ होनी चाहिए, लेकिन मैं मूल कारण को इंगित नहीं कर सकता।

धन्यवाद

+0

क्या एक विशिष्ट जेएसपी, या सभी जेएसपी के साथ समस्या है? आप निर्भरताओं को कैसे प्रबंधित करते हैं - मेवेन/आईवी/ग्रेडल या हाथ से जार की प्रतिलिपि बनाते हैं? आप अपनी निर्भरता सूची देख सकते हैं, यह देखने के लिए कि क्या कोई टॉमकैट लाइब्रेरी परियोजना निर्भरता के रूप में शामिल है या नहीं - जो कि समस्या होने की संभावना है। – jmruc

+0

समस्या सभी जेएसपीएस के साथ है। मैंने सभी जार फ़ाइलों को हाथ से अपनी परियोजनाओं lib फ़ोल्डर में कॉपी किया है। मेरी टोमकैट लाइब्रेरी में निर्भरता की जांच करेगा और आपको – Rishabh

उत्तर

8

यह तब हो सकता है कि आप अपने वेब ऐप्लिकेशन की /WEB-INF/lib में बिलाव विशेष जार फ़ाइलें जब । यह सही नहीं है। आपको वहां से सभी servletcontainer-विशिष्ट JAR फ़ाइलों को हटा देना चाहिए। वे बिल्कुल नहीं हैं। वे servletcontainer द्वारा प्रदत्त पहले से ही माना जाता है। /WEB-INF/lib में केवल वेबपैप के लिए विशिष्ट पुस्तकालय शामिल होना चाहिए जो servletcontainer द्वारा प्रदान नहीं किए जाते हैं।

आप एक unthoughtful संकलन त्रुटियों को ठीक करने का प्रयास का एक परिणाम के रूप में वहाँ उन्हें रखा है, तो कृपया ध्यान से इस जवाब है कि यह कैसे सही तरीके से हल करने के लिए पढ़ें: How do I import the javax.servlet API in my Eclipse project?

+0

देर से उत्तर के लिए खेद है क्योंकि समस्या होना चाहिए। मैं अन्य परियोजनाओं में पकड़ा गया था। आपका उत्तर पूरी तरह से समझ में आता है और मुझे अपने वेब-आईएनएफ/lib में servletcontainer-विशिष्ट JAR का उपयोग करना याद है। इस तरह के विरोधाभासी जार को हटा देगा और आपको बताएगा कि चीजें कैसे काम करती हैं! धन्यवाद, – Rishabh

+0

धन्यवाद बलुस,/जीआर में जार की सफाई समस्या हल हो गई! – Rishabh

+0

आपका स्वागत है। – BalusC

0

तो अपनी परियोजना की सफाई में मदद नहीं की, शायद आप स्पष्ट अपने कैश करना होगा।

Netbeans कैश कहीं स्थित है ...
C: \ दस्तावेज़ और सेटिंग्स \ myself.netbeans \ 7.0 \ वर \ कैश

+0

ग्रहण करने में कैश की सफाई करने से समस्या हल हो जाएगी। मुझे लगता है कि लापता/असंगत जार – Rishabh

0

lib से निम्नलिखित निकालें। विभिन्न संस्करणों के साथ एक ही जार के लिए

  1. चेक
  2. सभी Catalina संबंधित जार
  3. अल-api.jar
  4. jsp-api.jar

यह निश्चित रूप से काम करेंगे।