我的GoDaddy服务器出现了以下问题。 我正在使用JSP与JSTL库。我的/ WEB-INF / lib文件夹包含以下库:
的jstl.jar standard.jar
我的JSP看起来像这样:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<p>Hello! <%
out.print(System.getProperty("java.class.path"));
%></p>
但我一直得到以下例外:
org.apache.jasper.JasperException: The absolute uri:
http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml
or the jar files deployed with this application
关于它为什么这样做的任何想法?
答案 0 :(得分:29)
您需要获取正确版本的JSTL,它们使用不同的URI。
如果那个不起作用,请尝试:http://download.java.net/maven/1/jstl/jars/jstl-1.2.jar(JSTL 1.2),或者下拉1.1 JSTL罐。
在coderanch处有更详细的版本/ URI列表。
答案 1 :(得分:4)
您需要在Web应用程序中添加以下jar文件
jakarta-jstl-1.1.2.jar
and jakarta-standard-1.1.2.jar files
最近我遇到了同样的问题,我通过添加上面两个jar文件解决了这个问题
答案 2 :(得分:3)
我使用过Tomcat6 37。 至于我,我试过上面提到的解决方案,但仍然有错误。 将jstl-1.2.jar添加到我的%CATALINA_HOME%\ lib目录后,问题就解决了。
答案 3 :(得分:3)
这里的答案对于解释问题非常有用,但是当我认为我正在加载正确的JSTL版本时,它并没有帮助我诊断为什么正在发生。最后,我不得不调试应用程序并在TLD文件处理器(可能是org.apache.jasper.compiler.TagLibraryInfoImpl.getTagLibraryInfos()
)中放置一个断点,以查看它从哪里获取TLD文件。
然后我发现它正在从一个我不怀疑拥有它的jar中加载旧版本的TLD文件 - 它是GWT(ick)子系统的依赖项。一旦从我的maven依赖项中删除了违规的jar,问题就解决了。
希望将来可以帮助其他人。