Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Maven: несколько web модулей 
:(
    Опции темы
Restavrator
Дата 13.7.2011, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.6.2007

Репутация: нет
Всего: 1




Приветствую,

Maven штука конечно замечательная, и все прекрасно вяжется при вертикальном разбиении на модули (web, api, dao).
Но вот непонятно как делать горизонтальную разбивку? А точнее ее web часть.

Т.е. например разбить приложение например на модули:
1) Модуль обработки заказов
2) Модуль отчетов

Как распихать api, dao по отдельным артифактам понятно. Но вот как web (с jsp, картинками и прочим подобным контентом) держать в разных местах, и потом собирать в общий war файл как-то не очень.
В идеале конечно, хотелось бы иметь возможность деплоить как отдельный модуль, так и всю сборку. Но минимальная задача - это разложить все по разным артефактам.

Может кто-то сталкивался с подобной задачей?
PM MAIL   Вверх
Farmazon
Дата 13.7.2011, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Разработчик
**


Профиль
Группа: Участник
Сообщений: 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


--------------------
Таково моё общее мнение.
PM MAIL WWW   Вверх
Restavrator
Дата 14.7.2011, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.6.2007

Репутация: нет
Всего: 1




Я не знаком с Apache Pluto, но мне кажется, что это не совсем то, что мне нужно.

Целью является не создание портала - куда можно добавлять портлеты. 
Даже можно больше сказать - приложение уже есть, оно достаточно большое. Т.о. замена сервлетов на портлеты не подходит.
PM MAIL   Вверх
LSD
Дата 14.7.2011, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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.
PM MAIL WWW   Вверх
Restavrator
Дата 14.7.2011, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 оставить в куче в одной папке.



PM MAIL   Вверх
LSD
Дата 14.7.2011, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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.
PM MAIL WWW   Вверх
Restavrator
Дата 3.8.2011, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.6.2007

Репутация: нет
Всего: 1




LSD, спасибо. Буду смотреть.
Может еще подскажешь, на сколько в прицнипе оправдано детальное разбиение описанное мной для большого проекта. 
И не получится ли в итоге больше путаницы с модульностью, чем стандартное разбиение по слоям? А то боюсь переусердствовать в этом направлении smile


А http://cargo.codehaus.org/Merging+WAR+files никто не использовал?




PM MAIL   Вверх
LSD
Дата 3.8.2011, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 15
Всего: 538



Цитата(Restavrator @  3.8.2011,  02:21 Найти цитируемый пост)
Может еще подскажешь, на сколько в прицнипе оправдано детальное разбиение описанное мной для большого проекта. 
И не получится ли в итоге больше путаницы с модульностью, чем стандартное разбиение по слоям? А то боюсь переусердствовать в этом направлении

Это все очень индивидуально, тут нет универсального решения. Мое мнение, что не стоит усложнять билд без необходимости. Подобное разбиение имеет смысл, если есть необходимость повторного использования кода, или проект разросся настолько, что им трудно управлять и т.п.


--------------------
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.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0676 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.