Использование класса компонента из сервлета в приложении Java EE

Я только начал изучать Java EE и сделал несколько примеров (просто Hello World и несколько посложнее). Сейчас я сам делаю небольшое приложение для учебных целей. Я сделал EAR, EJB и WAR точно так же, как в этом примере, но вместо того, чтобы работать с интерфейсами, я работаю с реальными классами.

Таким образом, EJB и WAR находятся в одном пакете, но я не могу создать экземпляр класса EJB из сервлета WAR, потому что он, похоже, не находит реализацию этого класса. При попытке создать экземпляр класса с именем «База данных» в моем сервлете я получил следующую ошибку от Eclipse:

Database cannot be resolved to a type

Это также происходит с другими классами.

Любая идея? Большое Вам спасибо.


person Silas    schedule 29.01.2010    source источник
comment
Вещи не ясны. Что вы подразумеваете под EJB и WAR в одном пакете? Что вы подразумеваете под я не могу создать экземпляр EJB, как именно вы это делаете? Что такое Database класс? Можете ли вы прояснить эти моменты? Может быть, показать какой-нибудь код?   -  person Pascal Thivent    schedule 29.01.2010
comment
Извини, Паскаль, мне трудно дать лучшее объяснение, так как эти концепции для меня очень новы. Как бы то ни было, Калеб все понял и ответил правильно. Спасибо.   -  person Silas    schedule 29.01.2010
comment
Нет проблем, особенно если проблема решена (EJB, возможно, не самая простая отправная точка, кстати). Удачи.   -  person Pascal Thivent    schedule 29.01.2010


Ответы (1)


Похоже, у вас не установлены зависимости модуля. Проект WAR должен иметь проект EJB в качестве зависимости от модуля.

Щелкните правой кнопкой мыши проект WAR, выберите «Свойства», щелкните «Зависимости модуля Java EE» и убедитесь, что выбран EJB.

Зависимости модулей представлены в файле MANIFEST.MF каждого компонента Java EE. Этот файл содержит имена всех компонентов, от которых он зависит, и редактор зависимостей модуля Java EE обновляет этот файл.

person Kaleb Brasee    schedule 29.01.2010