2010-01-29 3 views
1

Я только начал изучать Java EE и сделал несколько примеров (Just Hello World и некоторые более сложные). Теперь я делаю небольшое приложение для обучения. Я создал EAR, EJB и WAR как in this example, но вместо работы с интерфейсами я работаю с реальными классами.Использование класса bean из сервлета в приложении Java EE

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

Database cannot be resolved to a type 

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

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

+0

Непонятные вещи. Что вы подразумеваете под * «EJB и WAR находятся в одном пакете» *? Что вы подразумеваете под * «Я не могу создать экземпляр EJB» *, как вы это делаете? Что такое класс «База данных»? Можете ли вы прояснить эти моменты? Может быть, показать какой-то код? –

+0

Извините, Паскаль, мне сложно сделать лучшее объяснение, так как эти понятия для меня очень новые. Во всяком случае, Калеб получил эту идею и ответил правильно. Благодарю. – Silas

+0

Нет проблем, особенно если проблема решена (EJB, возможно, не самая простая отправная точка BTW). Удачи. –

ответ

2

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

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

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