я получаю ошибку 404 в проекте EJB3, который работал идеально - PullRequest
0 голосов
/ 25 октября 2011

Я пытаюсь увидеть старый проект EJB3, который я делал в школе, но единственное, что я вижу, это index.jsp в браузере.Я получаю ошибку:

SEVERE: Class [ Lse/ernesto/databaseStuff/DbManagerLocal; ] not found. Error while loading [ class se.ernesto.client.UpdateEventServlet ]

DBManagerLocal - это интерфейс для сессионного компонента без сохранения состояния. UpdateEventServlet - это сервлет в динамическом веб-проекте.Обратите внимание, что я добавил проект EJB в путь сборки веб-проекта.

Другие файлы jsp находятся в папке WEB-INF в моем динамическом веб-проекте.Но, похоже, он не находит сервлетов, которые отвечают за загрузку этих файлов JSP.Это странно, потому что проект работал раньше (1 год назад). С тех пор я обновился до OSX Lion, я не знаю, есть ли проблема с новой ОС и EJB3.Проект состоит из динамического веб-проекта, проекта EJB3 и проекта EAR, все они развернуты через Eclipse на сервере Glassfish.Кто-нибудь сталкивался с этой проблемой?

Заранее большое спасибо.

1 Ответ

1 голос
/ 25 октября 2011

Простой ответ заключается в том, что веб-контейнер не может найти класс / интерфейс, потому что он "не существует". Или, точнее, потому, что он не находится в том месте или местах, где он его ожидает.

Я бы сделал тщательный поиск по дереву каталогов веб-контейнера . Начните с установленного каталога WEB-INF / classes веб-приложения, включая любые файлы JAR в этом каталоге. Затем посмотрите в области общей библиотеки.

Если , вы не можете найти класс или JAR, содержащий этот класс, тогда это ваша проблема. Если вы можете найти его, но код веб-контейнера не может, это, вероятно, не в том месте. В любом случае, что-то не работает в ваших (текущих) процессах сборки / развертывания; например настройки Eclipse вашего проекта.

(Почему это работало раньше? Кто знает. Возможно, вы строите / развертываете по-другому. Возможно, вы развернули что-то вручную ...)

...