2012-07-04 25 views
5

私のアプリケーションを実行しているときに、ボタンを押して別のxhtmlページにリダイレクトしている間、私が使用動的Webアプリケーション、Eclipse、JSFの例外java.lang.NoClassDefFoundError

SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/ChatAzure] threw exception [javax/servlet/jsp/jstl/core/Config] with root cause 
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config 
    at com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:345) 
    at com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:154) 
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 

: 日食、jsf2-1-7、JSTL-1.2.jar、Tomcatのv0.7私は、サーバーの表示を停止するまで、次にコンソール日食。 何が間違っているのか分かりません。私は助けが必要です。

答えて

9

上記のクラスはJSTLの一部です。これは通常、本格的なJava EEコンテナによって提供されますが、TomcatではベアボーンJSP /サーブレットコンテナではありません。あなたはJSTLをウェブアプリケーションと共に提供する必要があります。最終的にwebappのランタイムクラスパスに配置されます。

jstl-1.2.jar(正確にはour JSTL wiki pageで見つかると思いますが)この問題は明らかに正しい場所に配置されていないことを示しています。 Webプロジェクトの/WEB-INF/libフォルダに配置する必要があります。このフォルダは、webappのデフォルトのランタイムクラスパスでカバーされています。何もする必要はありません。プロジェクトのBuild Pathプロパティを解決しようとしたことがある場合は、を元に戻してください。すべての試みを元に戻す必要があります。


無関係具体的な問題に:なぜあなたはまだレガシーJSPを使用していますか? は非難されましたであり、JSF 2.0以降Facelets(XHTML)に引き継がれています。 JSFを学びながらJSF 1.xのものではなく、最新のJSF 2.xのリソースを読んでいることを確認してください。

+0

大変ありがとうございます。 :) – user1494328

+0

ようこそ。 – BalusC

+0

1.2.1と一緒に行く場合は両方の.JARをダウンロードし、両方を含めるようにしてください – th3byrdm4n

関連する問題