java.lang.ClassNotFoundException:javax.servlet.jsp.jstl.core.Config
当我inputURL后运行我的应用程序,这个exception即将到来。我使用Eclipse和Tomcat7.0.35。 我还添加了Jstl.jar和jstl1.2.jar
我的代码是
java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at org.apache.myfaces.view.jsp.JspViewDeclarationLanguage.buildView(JspViewDeclarationLanguage.java:91) at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:78) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199) 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:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 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:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
下载下面的jar文件并将其添加到您的WEB-INF/lib
目录中:
- JSP-API-2.0.jar
- JSTL-1.2.jar
错误是告诉你它找不到该类,因为它不适用于你的应用程序。
如果您使用的是Maven ,请确保您具有jstl
工件的依赖关系:
<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
如果你不使用它,只要确保你的类path中包含了JAR。 看到这个答案下载链接。
默认情况下,Tomcat容器不包含任何jstl库。 为了解决这个问题,如果你在Maven项目中工作,或者把它添加到你的应用程序的classpath中,在你的Maven pom.xml文件中声明jstl.jar
<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
将jstl
jar添加到您的应用程序类path中。
可能是你的类path中缺lessjstl库/ tomcat无法访问它。
您需要在WEB-INF/lib
目录中至less添加以下jar文件:
- JSF-impl.jar中
- JSF-api.jar文件
- 的jstl.jar
只是一个简短的评论:有时Maven不会将jstl-jar复制到WEB-INF文件夹中,即使pom.xml中有条目也是如此。
我必须手动将JSTL jar复制到文件系统上的/ WEB-INF / lib。 这解决了这个问题。 这个问题可能与Maven的战争包装插件有关。
将JSTL库作为依赖项添加到项目中( javax.servlet.jsp.jstl.core.Config
是此包的一部分)。 例如,如果您正在使用Gradle ,则可以在build.gradle中写入:
dependencies { compile 'javax.servlet:jstl:1.2' }
我有同样的问题。 转到项目属性 – >部署Assemplbly并添加jstl jar
- <p:commandbutton>操作在<p:dialog>中不起作用
- 在托pipebean构造函数中访问注入的依赖项会导致NullPointerException
- 在p:selectOneMenu中使用“请select”f:selectItem,其中null / empty值
- PrimeFacesselect器如何在update =“@(。myClass)”中工作?
- 强制JSF通过链接或后退button打开时刷新页面/视图/表单
- h:绑定到Integer属性的inputText正在提交值0而不是null
- 如何在@FacesConverter中注入@EJB,@PersistenceContext,@Inject,@Autowired等?
- validation错误:值无效
- 如何排除父组件的ajax更新中的子组件?