При настройке проекта EAR в Maven требуется ли, чтобы мои WAR и EJB также были отдельными проектами?
Это требует, чтобы для каждого "одного приложения" мне приходилось настраивать многочисленные проекты в Eclipse. Я не хочу этого Логически наш источник, библиотеки, конфигурация и т. Д. Предназначены для одного приложения, и оно развертывается как один EAR, поэтому поддерживать наследование POM и иерархию папок довольно сложно. Тем не менее, учебники, которые я вижу по настройке проекта EAR, показывают, что он разбит на многочисленные модули. Можно ли обойти этот подход?
2 ответа
Я бы сказал, что рекомендуется хранить EJB и WAR и EAR отдельно. Таким образом, вы можете поддерживать зависимости каждого "модуля" отдельно. И если вы когда-нибудь захотите упаковать свой EJB в более чем один EAR, это сделать проще. Вы можете использовать всеобъемлющий "проект POM", который заботится о вызове POM модуля и создании ваших фляг, войн и ушей.
Иногда более "громоздкие" занятия помогают быть более дисциплинированными и решать проблемы, которые возникают позже.
Мой первый комментарий будет, если вы не добавляете .rar
файлы в EAR, чем вы могли бы быть счастливее, если ваши EJB и библиотеки прямо в ваш .war
файл и пропуск EAR.
В течение многих лет вы были вынуждены хранить отдельные EJB и сервлеты, и это требовало файлов EAR, если вы хотели использовать оба. В Java EE 6 мы добавили функцию "EJBs in.wars", которая так проста, как кажется; это позволяет EJB находиться внутри WEB-INF/classes/
или же WEB-INF/lib/
каталоги.
В Java EE 6 WAR - это новые EAR.
Конечно, вы можете разбить вещи на модули Maven и порекомендовать сделать это в соответствии с вашими потребностями. С точки зрения модулей JavaEE это звучит так, как будто вам нужен только один военный файл.