2012-10-10 24 views
7

私はJava Webアプリケーションを持っています。私は私のlibには、非常に広範で、この新しいプロジェクトと私は、JSPを実行すると、次の例外を取得し、Servlet.service()はClassCastExceptionをスローします

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のを取得し、プロジェクトを何回も建物を設定していますこのエラーを引き起こす瓶の間に矛盾があるかどうかはわかりません。私はJDK 1.6でApache Tomcat 6でプロジェクトを実行しています(私のプロジェクトは1.6で動作する必要があります)。私はこの例外をグーグルで試してみましたが、私の問題に関連する投稿はありませんでした。 stackoverflowに関する関連する質問は、NullPointerExceptionについて語ります。

問題は自分のライブラリにある必要がありますが、根本的な原因を指摘できません。

おかげ

+0

特定のJSPまたはすべてのJSPに問題がありますか?依存関係をどのように管理していますか?つまり、手動でjarファイルをコピーするだけですか?あなたは依存関係のリストを見て、Tomcatライブラリがプロジェクトの依存関係として含まれているかどうかを調べることができます。これはおそらく問題になりそうです。 – jmruc

+0

問題はすべてのjspにあります。すべてのjarファイルを手作業でプロジェクトlibフォルダにコピーしました。私のtomcatライブラリの依存関係をチェックし、あなたに知らせる – Rishabh

答えて

8

あなたのWebアプリケーションの/WEB-INF/libでTomcatの固有のJARファイルがある場合に発生することができます。これは正しくない。 は、からすべてのservletcontainer固有のJARファイルを削除する必要があります。彼らはまったくそこに属しません。それらはservletcontainer自体によって提供されたであり、すでにであると考えられます。 /WEB-INF/libには、サーブレットコンテナによって提供されていないWebアプリケーション自体に固有のライブラリのみが含まれている必要があります。

あなたはその後、慎重にそれを正しい方法で解決する方法この回答を読んでください、コンパイルエラーを修正するunthoughtful試みの結果としてそれらをそこに置かれている場合は、次のlibから以下を削除How do I import the javax.servlet API in my Eclipse project?

+0

遅く返事を申し訳ありません。私は他のプロジェクトに巻き込まれました。あなたの答えは完全に理解できます。私はWEB-INF/libにservletcontainer固有のJARを使用していることを覚えています。そのような競合するJARを削除し、どのように動作するかをお知らせします。 ありがとう、 – Rishabh

+0

ありがとうBalusC、/ libのjarファイルをクリーンアップして問題を解決しました! – Rishabh

+0

ようこそ。 – BalusC

0

プロジェクトで問題が解決しない場合は、クリーニング、おそらくあなたは、あなたのキャッシュをクリアする必要があります。

Netbeansのキャッシュがどこかに位置しています...
C:\ DocumentsとSettings \のmyself.netbeans 7.0 \のvar \キャッシュ\

+0

eclipse dosentでキャッシュをクリーニングすることで問題を解決できます。私は問題が矛盾した瓶のためになければならないと思う。 – Rishabh

0

を。

  1. 異なるバージョン
  2. と同じjarファイルの確認すべてのカタリナ関連のjar
  3. EL-api.jarの
  4. のjsp-api.jarの

これは間違いなく動作します。

関連する問題