#java #jakarta-ee #ide #java-ee-6 #cdi
#java #джакарта-ee #ide #java-ee-6 #cdi
Вопрос:
Проверка CDI и Bean являются стандартными спецификациями Java EE 6. Тем не менее, я могу использовать оба на серверах приложений Java EE 5 (а также в Java SE), просто добавив библиотеки в проект.
Правильно ли это?
Есть ли какие-либо недостатки использования обоих на серверах приложений Java EE 5 вместо серверов приложений Java EE 6?
Я должен использовать Oracle 11 g Suite и JDeveloper. В то же время JDeveloper поддерживает JSF 2.0, но я не могу найти никакой поддержки для проверки Bean или CDI. Тем не менее, это не проблема. Нет поддержки IDE (для генерации кода, пошагового руководства или чего-то еще), но я могу использовать эти библиотеки с помощью простого редактора Java. Верно?
Ответ №1:
Java EE 6 — это, по сути, набор API. Сервер приложений совместим с Java EE 6, если он реализует все эти спецификации. Но вы все равно можете использовать API-интерфейсы на сервере приложений, совместимом с Java EE 5. Некоторые люди даже помещают EJB в Tomcat, так что технически это возможно. Тем не менее, имеет смысл использовать совместимый AS, поскольку он также предоставляет все услуги, связанные со спецификациями.
Ответ №2:
Я считаю, что это правильно.
Недостатком является то, что вы отстаете от версии. Возможно, вам придется изменить свой код, если и когда вы решите перейти на Java EE 6 (например, новый импорт и т. Д.)
Ответ №3:
Вы можете довольно легко добавить Apache OpenWebBeans или JBoss Weld (выберите одну из 2 реализаций CDI) в свой WEB-INF / lib и зарегистрировать прослушиватели сервлетов в вашем web.xml вручную. Вуаля, тогда у вас есть поддержка CDI!
Для проверки компонентов JSR-303 это немного сложнее, потому что его используют только JPA2 и JSF2. Итак, вам нужно будет добавить Myfaces2 и Hibernate-3.5, EclipseLink2 или OpenJPA2 в ваши локальные банки и отключить варианты, предоставляемые контейнером.