![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: нет Всего: 44 |
Здравствуйте!
Объясните пожалуйста для чего нужен Maven. я честно говоря не осилил. Ну создает он директории, а дальше что ? какая польза то от этого ![]() Вообщем не осилил философию данной штуки |
|||
|
||||
cube |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 11.4.2007 Репутация: нет Всего: 3 |
Я не пользуюсь Maven, я пользуюсь Ant'ом, мавен билдит твой проект ))
|
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: нет Всего: 44 |
антом я тоже могу собрать проект
|
|||
|
||||
Aristotelb |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 23.3.2007 Где: Саратов Репутация: нет Всего: 5 |
Я тоже могу собрать проект командами javac и jar ![]() Вопрос лишь в том какая часть работы будет сделана автоматически. Главный плюс мавена это простое управление зависимостями проекта: как внешними (умеет скачивать библиотеки из репозитория), так и зависимостями между модулями проекта. Кроме того это стандартная структура каталогов и куча плагинов на все случаи жизни. |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: нет Всего: 44 |
А! только что перечитал определение Maven'а и его сравнение(в одну строчку) с Ant'ом
![]() Начинаю понимать потихоньку догонять ![]()
http://ru.wikipedia.org/wiki/Apache_Maven |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 6 Всего: 43 |
В IDE обычно есть что-то встроенное для сборки проекта. В Нетбинсе кажется Ант. И знать разницу между "декларативным" и "императивным" вроде нет необходимости. Более того, предположу, что громоздкие проекты со сложной структурой, которые требуют изысканной сборки, неудобны и по другим причинам. Лучше набор независимых приложение, компонентов, модулей. Но, наверное, это не всегда возможно.
|
|||
|
||||
XEugene |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 1.1.2008 Репутация: нет Всего: 2 |
Чой-то не совсем ясно объясняет википедия разницу между Ant и Maven...
Я понял, что имелось ввиду, только потому что пользовался и антом и мейвеном. А вообще, принцип реализованный в Ant, мне кажется вполне "декларативным". Ну да, там каждое действие должно быть реализовано явно. Но слово "императивный" тут только сбивает с толку, можно подумать что Ant представляет собой язык программирования, на котором пишется код выполняющий сборку. Это сообщение отредактировал(а) XEugene - 26.7.2009, 22:49 |
|||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: нет Всего: 8 |
прошу прощения, но меня немного "возмутил" ответ COVD. скажи, а разве это вообще возможно? каким образом можно поистроить jee приложение в котором общие интерфейсы, например, на DAO? компонентная сборка гарантирует сначала дупликацию кода, а потом и в последствии (по другому не получится) его разницу при абсолютно идентичных задачах. если слишком тяжело объяснил, попытаюсь объяснить траблу, на которую я не знаю ответа. допустим есть (1) base dao manager проекты, каждый из них собирается maven-ом как *.jar при такой архитектуре не возможна компонентная архитектура, т.к. какой бы компонент не строился, всё размажется по этим трём подпроектам. приведу другой пример (2) component1 component2 component3 архитектура на первый взгляд кажется идеальной, а каким образом решать траблы с общими интерфейсами? в каждом пакете используются DAO и не плохо было бы иметь общий интерфейс на CRUD операции. ладно, скажешь ты, заведём ещё один проект, и положим туда интерфейсы: base component1 component2 component3 а как же быть теперь с утилитами? тоже положить в base? у компонентов начинаются зависимости между собой, как только они начинают интерагировать друг с другом, зависимости на entity уровне, manager-ах, утилитах и других "паттернах" программирования. при малом коде, всё кажется идеально, но как только код растёт, все компоненты переплетаются друг с другом и хотя они могут иметь структуру зависимостей в виде дерева, чем выше компонент в дереве, тем всё тяжелее и тяжее от него отказаться. но мы ведь говорили о компонентах? типа, взял вытащил и туда другой вставил и всё работает? хорошо, когда пишутся framework-и, типа velocity, log4j и т.д. в них чётко разделена логика. НО... она возможна вообще в jee мире?? ------------ пример из жизни: мы пишем некое приложение jee на spring. мы для сборки проекта использовали ант. само приложение собирается как бы из двух частей. дабы облегчить работу верстальщику мы сделали для него view и некие моки, которые просто описывали manager-ы (а не прямая работа с базой данных). всё было зашибить, пока проект не начал дико расти по всем направлениям. пришлось делить подпроекты. сначала из двух стало четыре. код ант-а стал просто беспощадно почти дублироваться и в нём, как всегда, были лишь некоторые мелочные различия. это дошло до того, что подправление каких-то мелочей в ант-е, начало занимать часы. не хватка все различных плагинов (которые в ант-е нужно подключать руками) начало тока раздувать ант. а ведь у нас ещё и не было написано половины приложения. тогда мы решили перейти на мавен, как спасение от ситуации. ну чтож, типа всё просто, у нас интерфейсы чётко соблюдены, попробуем построить компоненты. через 4 дня беспощадных и продуктивных усилий мы сдались. файлы так переплитались через интерфейсы, что стало не возможно их разделить и построить хоть какое-то "приличное" дерево. это была попытка номер (1) набравшись немного опыта, Алекс начал делить файлы уже не как компоненты, а как layer-ы: dao, manager, velocity, spring, base и т.д. размельчив примерно на 25 пакетов, проект из простой структуры вырос в какую-то непонятную машину. так прошло ещё дня четыре. поняв, что пакетов много и попытавщись притащить за уши идею номер (1) с новыми мыслями и наработками мы сдались через дня 4 заного. следующая попытка вернула нас на layer-ы + (только частичная!) компонентная структура. подпроектов стало 11, разделение стало чёткое и некоторые вещи просто объеденены. теперь, что я хотел сказать. компоненты у нас в проекте по дереву стоят в самом вверху иерархии, а это значит, так просто заменить их уже наврядли удастья. они врасли в проект, хотя там и навалом интерфейсов для разделения. как же строить JEE приложения? ![]() пс. заказал пару книг по паттернам, может быть там найду светлые идеи, но решение в данной ситуации не кажется мне реальным. или? ![]() |
|||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: нет Всего: 8 |
COVD, предлогаю обсудить в другом топике, дабы не засорять этот
![]() архитектура, возможна ли компонентная архитектура в мире JEE? |
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 3 Всего: 12 |
Мавен и ант существуют для разных задачь. Ант преднозначен для выполнения каких то действий на основе build.xml. Build.xml ты можешь писать как хо4ешь. Мавен даёт полнуй процесс сборки проекта: компилация, тест, упаковка .... В отличие от аната он даёт:
Топик стартер, советую тебе углубиться в мавен и ты поймёшь как им удобно пользоваться. Кстати сам раньше думал, нафиг он нужн ![]() ![]() |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 3 Всего: 191 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |