Как разбить веб-проект на 2 отдельных проекта / модуля
У меня есть веб-проект Maven (Java), который я создал в Eclipse. Из-за внутренних ограничений IDE мне пришлось перенести проект на JDeveloper 12c и отключить природу Maven. Мне пришлось сделать несколько настроек свойств проекта в JDeveloper, чтобы он работал.
Мы обнаружили, что внутренний код (классы Service Impl, DAO и Entity) можно использовать в нескольких других проектах, поэтому мы оцениваем / рассматриваем возможность разделения одного большого веб-проекта на 2 проекта. Один для внешнего интерфейса, который специфичен для каждого проекта, а другой для внутреннего интерфейса, который является общим для всех проектов.
Вот несколько способов, которыми я думал, что это может быть сделано.
1) Из одного большого веб-проекта создайте 2 проекта; проект веб-интерфейса и веб-серверный проект.
2) Оставьте код таким, какой он есть, и используйте модули maven или функцию оверлеев maven и генерируйте 2 войны из одного и того же кода.
Я не имел дело с проектами в зависимости от других или многомодульных проектов. Видите ли вы какие-либо проблемы с этим типом архитектуры, хорошо это или плохо?
Пожалуйста, дайте мне знать, если у вас есть другие предложения или сталкивались с подобными ситуациями ранее. Заранее спасибо.
1 ответ
Разделение проекта на множество подпроектов - хорошая идея. Вы можете использовать maven многомодульную настройку проекта ( документы). Каждый фронтенд-проект будет иметь отдельный проект maven (модуль в родительском pom), и у вас будет один проект (модуль) для бэкэнда.
В зависимости от ваших требований вы можете создать:
- архив EAR с бэкэндом в EJB jar и всеми внешними интерфейсами в архивах WAR,
- архив WAR для каждого фронтенд-проекта с EJB jar (или jar для установки не-javaee) внутри
WEB-INF/lib
,
У многомодульной настройки мало преимуществ, и главное в том, что вы можете собрать все приложение с нуля, просто выполнив одну команду mvn.