无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri

时间:2014-12-01 20:15:27

标签: java jsp jboss5.x spring-social tomee

我正在将Web应用程序转换为使用TomEE而不是Jboss 5.1.0并看到以下异常:

ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/].[mlui]- Servlet.service()     for servlet [mlui] in context with path [] threw exception [The absolute uri: http://www.springframework.org/spring-social/social/tags cannot be resolved in either web.xml or the jar files deployed with this application] with root cause
org.apache.jasper.JasperException: The absolute uri: http://www.springframework.org/spring-social/social/tags cannot be resolved in either web.xml or the jar files deployed with this application
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)
at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:152)
at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1427)
at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

我读了所有类似的问题,他们都遇到缺少依赖关系或者没有匹配jsp和tld文件之间的URI。但就我而言,这些都很好。这是我的taglib声明:

<%@ taglib prefix="social" uri="http://www.springframework.org/spring-social/social/tags" %>

我在spring-social-web中有spring-social.tld文件:1.1.0.RELEASE,它位于WEB-INF \ lib下,并且它与我的jsp文件具有相同的URI。以下是WEB-INF \ lib下的弹簧相关库,以防它可以提供帮助。

spring-aop-3.2.2.RELEASE.jar
spring-beans-3.2.2.RELEASE.jar
spring-context-3.2.2.RELEASE.jar
spring-core-3.2.2.RELEASE.jar
spring-data-commons-core-1.4.0.RELEASE.jar
spring-expression-3.2.2.RELEASE.jar
spring-jdbc-3.2.2.RELEASE.jar
spring-security-config-3.1.3.RELEASE.jar
spring-security-core-3.1.3.RELEASE.jar
spring-security-crypto-3.1.3.RELEASE.jar
spring-social-config-1.1.0.RELEASE.jar
spring-social-core-1.1.0.RELEASE.jar
spring-social-facebook-1.1.1.RELEASE.jar
spring-social-instagram-1.0.1.BUILD.jar
spring-social-web-1.1.0.RELEASE.jar
spring-test-3.1.3.RELEASE.jar
spring-tx-3.2.2.RELEASE.jar
spring-web-3.2.2.RELEASE.jar
spring-webmvc-3.2.2.RELEASE.jar

1 个答案:

答案 0 :(得分:7)

对于那些感兴趣的人,我只是从jar中提取.tld文件并将其放在我的WEB-INF目录下,它解决了问题。我仍然不知道为什么TomEE在罐子里面时无法解决它。