2012-07-04 24 views
5

Uygulamamı çalıştırdığımda, düğmeye bastığımda her şey bir an olur ve başka bir xhtml sayfasına yönlendiriyorum. Ben sunucu ekranı durdurana kadar Sonra konsolu eclipse:Exception java.lang.NoClassDefFoundError, Dinamik Web Uygulaması, Eclipse, JSF

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) 

kullandığım: tutulması jsf2-1-7, JSTL-1.2.jar, Tomcat v0.7. Neyin yanlış olduğunu bilmiyorum, yardıma ihtiyacım var.

cevap

9

Belirtilen sınıf, JSTL'nin bir parçasıdır. Bu, normalde tam teşekküllü bir Java EE kabı tarafından sağlanır, ancak Tomcat'ta bir barebone JSP/Servlet konteyneri olarak değil. Web uygulamasıyla birlikte JSTL'yi kendiniz sağlamanız gerekir. Nihayetinde webapp'ın çalışma zamanı sınıf yoluna yerleştirilmiştir.

jstl-1.2.jar'dan doğru bir şekilde bahsetmiştiniz (our JSTL wiki page'da bulabileceğiniz tam olarak bu olduğunu varsayalım), ancak bu sorun açıkça doğru yere yerleştirilmediğini gösterir. Web projesinin /WEB-INF/lib klasörüne yerleştirmeniz gerekir. Bu klasör, webapp'ın varsayılan çalışma zamanı sınıf yolu ile kaplıdır. Daha fazla bir şey yapılması gerekmiyor. Herhangi bir girişimde, projenin Yapı Yolu özelliklerinde fiddlediyseniz, bu denemelerin tümünü ve geri almalısınız.

beton sorununa

İlgisiz : neden hala eski JSP kullanıyorsunuz? , kullanımdan kaldırılmıştır ve JSF 2.0'dan beri Facelets (XHTML) tarafından başarılı olmuştur. JSF'yi öğrenirken JSF 2.x kaynaklarını değil, JSF 1.x olanları okuduğunuzdan emin olun.

+0

harika, çok teşekkür ederim! :) – user1494328

+0

Rica ederim. – BalusC

+0

1.2.1 ile devam ederseniz, .JAR'ları indirdiğinizden ve ikisini de – th3byrdm4n

İlgili konular