在我们将Web应用程序重新升级到ivy进行构建管理之后,我遇到了一些不寻常的错误,其中还包括更新所有涉及的主要库。虽然我们正在设法通过单元测试,但当我们将Web应用程序部署到Tomcat并尝试在浏览器中导航到它时,我们会收到以下错误:
org.apache.jasper.JasperException:/index.jsp(1,1) /layout/taglibs.jsp(2,77)无法读取TLD“META-INF / stripes.tld” 来自JAR文件 “文件:/Library/Tomcat/apache-tomcat-6.0.32/webapps/cga/WEB-INF/lib/stripes-1.5.6.jar”: org.apache.jasper.JasperException:无法加载或实例化 TagExtraInfo类:net.sourceforge.stripes.tag.ErrorsTagExtraInfo
我检查了通常的嫌疑人,并确认jar文件位于正确的位置,tld文件存在于jar中,依此类推。同样,搜索错误仅显示有限数量的返回,主要与具有相同错误的邮件列表问题相关。我已经完成了这篇文章,并且尝试了那些没有太多运气的解决方案。
有关可能导致此错误的原因的任何想法?
我收到的完整错误跟踪如下:
org.apache.jasper.JasperException: /index.jsp(1,1) /layout/taglibs.jsp(2,77) Unable to read TLD "META-INF/stripes.tld" from JAR file "file:/Library/Tomcat/apache-tomcat-6.0.32/webapps/cga/WEB-INF/lib/stripes-1.5.6.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: net.sourceforge.stripes.tag.ErrorsTagExtraInfo
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:300)
org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:333)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:442)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1397)
org.apache.jasper.compiler.Parser.parse(Parser.java:130)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:347)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
答案 0 :(得分:3)
这实际上需要一段时间来追逐,因为错误信息并不完全反映实际问题是什么,但在坚果壳中这是一个类似的发声错误(即“无法读取TLD”META-INF / * .tld “来自JAR文件”)似乎发生在已部署的JAR文件与使用Tomcat本身部署的内容之间存在类冲突时。结果是我的错误,因为有两个文件(javax.servlet.jsp-api-2.2.1.jar和el-api-1.0.jar)存在冲突。
由于这个问题似乎有点弹出,这里有几个故障排除提示: