gpt4 book ai didi

eclipse - 动态 Web 应用程序、Eclipse、JSF 中的异常 java.lang.NoClassDefFoundError

转载 作者:行者123 更新时间:2023-12-04 17:38:16 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

(2 个回答)


5年前关闭。




当我运行我的应用程序时,当我按下按钮并重定向到另一个 xhtml 页面时,一切都很好。然后eclipse控制台,直到我停止服务器显示:

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)

我用:
eclipse 、jsf2-1-7、jSTL-1.2.jar、Tomcat v0.7。
我不知道怎么了,我需要帮助。

最佳答案

提到的类是 JSTL 的一部分。这通常已由成熟的 Java EE 容器提供,但在 Tomcat 中作为准系统 JSP/Servlet 容器并未提供。您需要自己提供 JSTL 以及 Web 应用程序。它最终必须放置在 webapp 的运行时类路径中。

您正确地提到了 jstl-1.2.jar (我假设它正是您在 our JSTL wiki page 中可以找到的那个),但是这个问题表明它显然没有放在正确的位置。你需要把它放在/WEB-INF/lib web项目的文件夹。该文件夹由 webapp 的默认运行时类路径覆盖。没有什么需要做的了。如果您曾经在项目的构建路径属性中摆弄过试图解决它,您应该撤消 所有这些尝试。

无关 到具体问题:你为什么还在使用遗留 JSP?自 JSF 2.0 起,它已被 Facelets (XHTML) 弃用并取而代之。在学习 JSF 时,请确保您正在阅读最新的 JSF 2.x 资源而不是 JSF 1.x 资源。

关于eclipse - 动态 Web 应用程序、Eclipse、JSF 中的异常 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11328667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com