![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Restavrator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.6.2007 Репутация: нет Всего: 1 |
Приветствую, Maven штука конечно замечательная, и все прекрасно вяжется при вертикальном разбиении на модули (web, api, dao). Но вот непонятно как делать горизонтальную разбивку? А точнее ее web часть. Т.е. например разбить приложение например на модули: 1) Модуль обработки заказов 2) Модуль отчетов Как распихать api, dao по отдельным артифактам понятно. Но вот как web (с jsp, картинками и прочим подобным контентом) держать в разных местах, и потом собирать в общий war файл как-то не очень. В идеале конечно, хотелось бы иметь возможность деплоить как отдельный модуль, так и всю сборку. Но минимальная задача - это разложить все по разным артефактам. Может кто-то сталкивался с подобной задачей? |
|||
|
||||
Farmazon |
|
|||
![]() Разработчик ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 7.7.2006 Репутация: нет Всего: 5 |
JSR168 и JSR268?... Проект Apache Pluto зазырь... хотя он не единственный.
Добавлено через 2 минуты и 24 секунды http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%...%BB%D0%B5%D1%82 -------------------- Таково моё общее мнение. |
|||
|
||||
Restavrator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.6.2007 Репутация: нет Всего: 1 |
Я не знаком с Apache Pluto, но мне кажется, что это не совсем то, что мне нужно. Целью является не создание портала - куда можно добавлять портлеты. Даже можно больше сказать - приложение уже есть, оно достаточно большое. Т.о. замена сервлетов на портлеты не подходит. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 15 Всего: 538 |
Не понятно как ты хочешь производить разбиение. У тебя будет один WEB модуль который должен порождать несколько артефактов? Или наоборот несколько модулей из которых будут порождаться кастомные WEB модули?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Restavrator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.6.2007 Репутация: нет Всего: 1 |
Что бы еще больше не запутывать, попробую описать с другой стороны У меня есть очень большое приложение, которое собирается и деплоится как 1 варка. Есть потребность разбить его на модули, хотя бы для уменьшения скролинга по пакетам в IDE. Как разбить на артефакты web, api, dao и т.п. понятно. Но хотелось бы сразу разбить и на логические модули (заказы, отчеты) В итоге, должно получиться что-то типа матрицы: order-web report-web order-api report-api order-dao report-dao jar файлы от api и dao отлично соберутся в war файл. Вопрос что в этом случае делать с web модулем, и в частности с ресурсными файлами (JSP, CSS, и т.п.) Можно ли создавать такие Web (или не web) артефакты, которые можно было бы включать в обычный web артефакт, по которому уже собирался бы war файл. Например: в приложении используется Spring MVC. В web.xml файле моего корневого web модуля - я описываю DispatcherServlet и прочие общие настройки. А контроллеры, JSP и прочее уже разнесены по отдельным артефактам, на которые прописываю зависимости в корневом web. Т.е. тоже самое как в web модуле прописывается зависимость на api и dto например. Суть даже не столько в возможности собирать war в разной компановке, сколько максимально логично разбить исходный код на модули. Т.к. было бы неправильно разбить api, но при этом JSP оставить в куче в одной папке. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 15 Всего: 538 |
Я вижу 2 способа:
Первый попроще, но менее гибкий. Каждый логический web модуль упаковываешь в war, это может быть и неполный war, у него может быть неполный набор необходимых библиотек, конфигов и т.д. Главное чтобы в нем все лежало на своих местах, классы и ресурсы в classes, библиотеки в lib и т.д. Далее создаешь основной web модуль, у которого в зависимостях указываешь нужные war файлы. При сборке Maven распакует их во временную директорию, перезапишет их файлами из текущего модуля и упакует в war. Второй способ более гибкий, но требует больше усилий. Это использовать Maven Assembly plugin, там ты просто руками указываешь, что куда класть. И можно в одном модуле создать несколько war файлов. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Restavrator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.6.2007 Репутация: нет Всего: 1 |
LSD, спасибо. Буду смотреть. Может еще подскажешь, на сколько в прицнипе оправдано детальное разбиение описанное мной для большого проекта. И не получится ли в итоге больше путаницы с модульностью, чем стандартное разбиение по слоям? А то боюсь переусердствовать в этом направлении ![]() А http://cargo.codehaus.org/Merging+WAR+files никто не использовал? |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 15 Всего: 538 |
Это все очень индивидуально, тут нет универсального решения. Мое мнение, что не стоит усложнять билд без необходимости. Подобное разбиение имеет смысл, если есть необходимость повторного использования кода, или проект разросся настолько, что им трудно управлять и т.п. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |