я получаю ошибку 404 в проекте EJB3, который отлично работал

я пытаюсь увидеть старый проект 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. Кто-нибудь сталкивался с этой проблемой?

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


person madcoderz    schedule 24.10.2011    source источник


Ответы (1)


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

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

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

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

person Stephen C    schedule 25.10.2011
comment
Что ж, я пошел (в Finder) по адресу: glassfish/domains/myDomain/eclipseApps/myProject/ и нашел там класс DBManagerLocal.class Файлы jsp и файлы JAR также находятся там. Я не знаю, нужно ли мне обращаться к администратору localhost:4848, чтобы исправить это. Я не помню, чтобы что-то делал в админке для запуска. В проекте EJB нет файлов JAR, как и должно быть, а файл MANIFEST.MF выглядит следующим образом: Manifest-Version: 1.0 Class-Path: должно ли быть имя класса в Class-Path:? - person madcoderz; 25.10.2011
comment
@madcoderz - короче, я не знаю. Но ясно, что что-то должно быть не так, иначе Glassfish нашел бы этот класс. - person Stephen C; 25.10.2011
comment
Я буду продолжать искать решение сегодня. Спасибо за ваше время. - person madcoderz; 25.10.2011