Tomcat сервлет-api.jar проблема - PullRequest
2 голосов
/ 17 мая 2010

Я запускаю веб-приложение, используя Tomcat и Java Servlets, JSP и т. Д.

Мне известно, что для использования сервлетов он зависит от файла Servlet-api.jar. Сначала я поместил этот jar-файл в каталог

WEB-INF/lib/
.

Это прекрасно сработало в течение нескольких месяцев на этапе разработки.

Когда мы помещаем приложение в используемое нами пространство сервера, мы начинаем видеть странные проблемы, появляющиеся в файле Catalina.out, которые говорят нам, что были проблемы с зависимостью в файле servlet-api.jar,

Мне известно, что у tomcat есть этот файл jar в контейнере, и что я должен удалить его из каталога

WEB-INF/lib/
. Я попробовал это, и это не работает.

Что мне делать, когда я удаляю этот файл jar из локальных файлов и позволяю ему зависеть от файла tomcats servlet-api.jar.

РЕДАКТИРОВАТЬ: Это точное сообщение, полученное из моего файла Catalina.out, который я получил. Я добавил внешний JAR в путь к классу, и он сработал, но я получаю эту проблему.

May 17, 2010 12:33:31 PM org.apache.catalina.loader.WebappClassLoader validateJarFile<br>
INFO: validateJarFile(/home/weremo/appservers/apache-tomcat-6.0.26/webapps/WMA-Test/WEB-<br>INF/lib/servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. <br>Offending class: javax/servlet/Servlet.class

1 Ответ

7 голосов
/ 17 мая 2010

Servlet-api.jar по умолчанию предоставляется контейнерной средой. Поэтому не следует помещать его в папку WEB-INF / LIB при развертывании приложения. Однако это необходимо для компиляции ваших сервлетов. В случае, если вы используете Eclipse в качестве IDE, поместите его в ваш путь к классу, используя опцию Add External JAR files.

...