Как разбить веб-проект на 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.

Другие вопросы по тегам