JasperException: абсолютный uri: http://java.sun.com/jsp/jstl/core не может быть разрешен
У меня возникла следующая проблема с моим сервером GoDaddy.
Я использую JSP с библиотекой JSTL. Папка My/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
Любые идеи относительно того, почему это делается?
Ответы
Ответ 1
Вам нужно получить правильную версию JSTL, они используют разные URI.
Если этот не работает, попробуйте: http://download.java.net/maven/1/jstl/jars/jstl-1.2.jar (JSTL 1.2) или вытащите 1.1 JSTL-банки.
Там более подробный список версий /URI на coderanch.
Ответ 2
вам нужно добавить следующий файл jar в ваше веб-приложение
jakarta-jstl-1.1.2.jar
and jakarta-standard-1.1.2.jar files
Недавно у меня такая же проблема, что я решил, добавив выше два файла jar
Ответ 3
Я использовал Tomcat6 37.
Что касается меня, я попробовал упомянутые выше решения, но все еще получил ошибку.
Проблема была решена после добавления jstl-1.2.jar в мой каталог% CATALINA_HOME%\lib.
Ответ 4
Ответы здесь были полезны для объяснения проблемы, но это не помогло мне диагностировать, почему это происходит, когда я думал, что загружаю правильные версии JSTL. В конечном итоге мне пришлось отлаживать приложение и помещать точку останова в файловый процессор TLD (возможно, org.apache.jasper.compiler.TagLibraryInfoImpl.getTagLibraryInfos()
), чтобы видеть, откуда он получает файлы TLD.
Затем я обнаружил, что он загружал старые версии файлов TLD из банки, которые я не подозревал, что они были - это была зависимость подсистемы GWT (ick). Как только повреждающая банка была удалена из моих зависимостей maven, проблема была решена.
Надеюсь, это поможет кому-то еще в будущем.