Я столкнулся с проблемой, которая, похоже, не решается подобными вопросами.
У меня есть приложение, которое встраивает Jetty, используя SpringMVC, JSP и библиотеки тегов.Я использую плагин maven для генерации jar, объединяю все зависимые jar в каталог и создаю манифест.
Когда я запускаю приложение, используя jar (например, java -jar app.jar), все работает нормальнопока я не попытаюсь загрузить JSP, который задает <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
или любой другой taglib по этому вопросу.
Если я запускаю java и указываю classpath в командной строке и явно называю свой основной класс, все это работает.Я убедился, что путь к классам внутри моего приложения jar MANIFEST.MF указан правильно.
До сих пор я придумал 2 обходных пути, которых я бы предпочел избежать.Пусть мой скрипт запуска сгенерирует classpath и поместит его в командную строку.Или извлеките файлы .tld из пакета Jetty jsp-api и сделайте их доступными как обычные файлы, что позволяет мне указывать их как метки.
Насколько я понимаю, Джаспер должен разорвать все Джарclasspath ищет файлы tld?При указании jar-файлов в командной строке как части пути к классу это работает, но когда путь к классу указан в jar-файле моего приложения, это не удается.