Как ссылаться и экспортировать другой проект при разработке веб-приложения J2EE? - PullRequest
3 голосов
/ 19 февраля 2010

У меня есть несколько проектов J2EE, использующих сервлеты, каждый из которых происходит от базового класса, который обрабатывает основные методы doGet и doPost и вызывает более конкретные методы для подклассов.Вместо того чтобы иметь этот базовый класс в качестве класса в каждом файле WAR, я хочу переместить его в свой собственный JAR, на который может ссылаться каждый из других проектов.

Я использую Eclipse.Итак, я создал новый проект Java и перенес туда базовый класс.Он жаловался на отсутствие ссылки на servlet-api.jar, поэтому я добавил его туда.Затем другие проекты жаловались на отсутствие ссылки на этот новый проект, поэтому эти ссылки были добавлены.

Теперь больше нет жалоб, но когда я запускаю проект (открыв класс сервлета и выбрав Запускать как ), он не экспортирует классы из другого проекта, и Tomcat выдает исключение при попытке создать экземпляр подкласса неизвестного класса.

Как мне указать eclipse для экспортасам проект сервлета и этот другой Java-проект, на который он ссылается?

Ответы [ 2 ]

4 голосов
/ 19 февраля 2010

Я использую Eclipse.Итак, я создал новый проект Java и перенес туда базовый класс.Он жаловался на отсутствие ссылки на servlet-api.jar, поэтому я добавил его туда.

Убедитесь, что вы добавили его по Путь сборки Java > Библиотеки > Добавить библиотеку > Время выполнения сервера > [выбрать рассматриваемый сервер] (и, следовательно, не скопировано или импортировано, иначе путь к классам может конфликтовать с реальным используемым сервером).

Затем другие проекты жаловались на отсутствие ссылки на этот новый проект, поэтому эти ссылки были добавлены.

Я не уверен, что понимаю основную причину здесь.

Теперь больше нет жалоб, но когда я запускаю проект (открыв класс сервлета и выбравЗапустить как), он не экспортирует классы из другого проекта, и Tomcat выдает исключение при попытке создать экземпляр подкласса неизвестного класса.

Вам необходимо настроить развернутый веб-проект для экспортассылки на проект, а также.Перейдите к Зависимости модуля Java EE в свойствах проекта и отметьте проекты, которые должны быть экспортированы как зависимости.

0 голосов
/ 19 февраля 2010

Проверьте настройку CLASSPATH конфигурации времени выполнения. Вместо того, чтобы полагаться на «Run As ...», продолжайте и создайте явную конфигурацию времени выполнения для ваших сервлетов. Таким образом, вы можете быть уверены, что включите любые зависимые классы в проекты, отличные от выполняемого.

...