java.lang.NoClassDefFoundError: javax / servlet / jsp / tagext / TagLibraryValidator - PullRequest
1 голос
/ 05 ноября 2011

Я следовал инструкциям в по этой ссылке , чтобы установить JSTL, но при попытке запустить страницу JSP я получил следующую ошибку:

java.lang.NoClassDefFoundError: javax / servlet / jsp / tagext / TagLibraryValidator

Объявление taglib:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

Я установил JSTL 1.1 в /WEB-INF/lib в веб-приложениях Tomcat и попытался сделать то же самое в моем проекте, но это не сработало. Я также попробовал версию 1.2 JSTL и все то же самое сообщение. Как это вызвано и как я могу решить это?

1 Ответ

3 голосов
/ 05 ноября 2011

Класс javax.servlet.jsp.tagext.TagLibraryValidator представлен в JSP 2.0.Таким образом, эта ошибка может иметь следующие возможные причины:

  • Вы не используете JSP 2.0-совместимый serlvetcontainer.Например, Tomcat 4.x или 5.0.Вам нужен по крайней мере Tomcat 5,5 или лучше, 6,0 или даже лучше, 7,0.Просто последняя версия.

  • Вы загромождали /WEB-INF/lib произвольно загруженными jsp-api.jar или j2ee.jar файлами или чем-либо другим, содержащим JSP API, который происходит из совершенно другой сервлет-контейнера./ версия, которая, в свою очередь, на самом деле не была совместима с JSP 2.0.Избавьтесь от этих библиотек.Вы не нуждаетесь в них.Если вы сделали это, чтобы обойти ошибки компиляции, то вы сделали это неправильно.Они должны заканчиваться в пути к классам во время компиляции, а не в пути к классам во время выполнения.См. Также Как импортировать API javax.servlet в мой проект Eclipse?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...