java - 无法从 JAR 文件中读取 TLD "META-INF/c.tld"

标签 java spring jsp tomcat spring-mvc

我使用 STS 插件从 Spring 模板创建一个 Spring MVC 项目。但是,当我运行该应用程序时出现错误:

org.apache.jasper.JasperException: /WEB-INF/views/home.jsp(1,63) Unable to read TLD "META-INF/c.tld" from JAR file "file:/H:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/imgateway/WEB-INF/lib/jstl-1.2.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV

有人遇到过这种问题吗?

最佳答案

之前在 StackOverflow 上问过几次: Unable to read TLD "META-INF/c.tld"

我曾经在博客上写过一个可能的答案:http://blog.flurdy.com/2010/07/jetty-tomcat-jsp.html

根据您的项目是否使用 maven,您需要确保 jsp-api 不包含在内,而是由 Tomcat 提供,而不是由 eg 提供:

<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>servlet-api</artifactId>
   <version>2.5</version>
   <scope>provided</scope>
</dependency>
<dependency>
   <groupId>javax.servlet.jsp</groupId>
   <artifactId>jsp-api</artifactId>
   <version>2.1</version>
   <scope>provided</scope>
</dependency>
<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>jstl</artifactId>
   <version>1.2</version>
</dependency>
<dependency>
   <groupId>org.apache.tomcat</groupId>
   <artifactId>jasper-el</artifactId>
   <version>6.0.26</version>
</dependency>

关于java - 无法从 JAR 文件中读取 TLD "META-INF/c.tld",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321430/

相关文章:

java - 鼠标悬停后点击

java - 风吹在弦上

java - 字符串数组内存不足错误

Spring 在具有通配符 Controller 路由的同时提供静态内容

java - 如何避免在我非常简单的 Web 应用程序中泛滥并使其具有可扩展性?

java - LibGdx 如何重复背景?

java - 如何在tomcat关闭时关闭spring bean中的ThreadPoolExecutor?

java - Spring 应用程序似乎没有持久化数据

java - (jsp) scriptlet 何时运行它们的 (Java) 代码?

javascript - 参数值在 Ajax 中越来越空?