Где я могу разместить файлы jar в Tomcat 6? - PullRequest
3 голосов
/ 06 января 2011

У меня проблемы с получением моей страницы JSP для загрузки Java-класса, который находится в файле jar. Появляется сообщение, которое указывает на исключение класса не найден:

Jan 6, 2011 12:21:45 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 72 in the jsp file: /xmlloader.jsp
FactArray cannot be resolved to a type
69:         sourceType = "1";
70: }
71: 
72: FactArray fa = new FactArray();
73: Fact f;
74: 
75: /***********************/

Тип FactArray - это один из моих классов в пакете com.mypackage.fact.FactArray, который существует в myjar.jar. myjar.jar - это отдельный проект Java (использующий NetBeans, но я не думаю, что это актуально).

Я включаю пакет в свой JSP следующим образом:

<%@ page import="com.mypackage.fact.*" %>

Я развернул свой веб-сайт и JSP в Tomcat 6 в виде файла WAR. Я включаю myjar.jar в эту WAR в WEB-INF / lib, но это не работает. Я попытался поместить myjar.jar в папку tomcat / lib, но это тоже не сработало.

Я перебрасывал сервер несколько раз между изменениями. Здесь я прочитал целую кучу вопросов, в которых говорится «поместите это в WEB-INF / lib», но это не работает, поэтому я задаю свой вопрос.

Куда мне нужно поместить общие файлы JAR, чтобы они были подобраны Tomcat?

Ответы [ 2 ]

10 голосов
/ 06 января 2011

Помещение в папку /WEB-INF/lib развернутого веб-приложения должно работать.

Если это не сработает, то возможные причины:

  • JAR не содержитжелаемый класс вообще (извлеките с помощью инструмента ZIP и проверьте)
  • В вашем объявлении импорта и / или класса есть опечатка (учитывайте регистр!)

Не относится кпроблема с использованием скриптлетов не лучшая практика.Рассмотрим сервлет .

1 голос
/ 06 января 2011

Убедитесь, что в коде указаны правильные операторы импорта;в зависимости от того, как вы настроили свой env, поместите фляги в webapps / ROOT / lib

...