подойдет ли maven для этого сценария? - PullRequest
2 голосов
/ 27 августа 2010

В настоящее время у нас есть проект на основе муравьев, и мы планируем перейти на Maven. Проект основан на Java Java, однако он имеет модульную структуру, в которой каждый модуль может содержать несколько проектов Java Java. как это:

mod1-->subdir-->war-A
             -->war-B
mod1->src
mod1->build/classes

добавлено несколько таких модулей плюс несколько зависимостей jar и создан один файл EAR. + файл пользовательского манифеста

вроде так

EAR -->war-A
    -->war-B
    -->war-C
    -->war-D
    lib/allclasses-from-allmodules-in-one jar

Эту структуру и зависимости нельзя изменить - она ​​исходит из используемой нами среды.

Я не знаю достаточно о maven, чтобы выяснить, сколько это работы, или если наш проект и методы разработки настолько далеки от соглашения maven, что оно не стоит времени.

Я понимаю, что вы можете заставить maven делать то, что вы хотите, - но если мы сделаем переход, это должно быть для того, чтобы maven не делал жизнь труднее! :)

Другая важная вещь заключается в том, что я хочу иметь возможность создавать файл ear в разобранном виде ... какие варианты у меня есть для настройки этого аспекта? Что я откажусь, если я пойду с настроенным «заданием» (я не уверен, каков этот термин для этого)

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

Честно говоря, я бы не стал переносить это на maven - и я говорю это, несмотря на то, что я фанат maven.Как правило, преобразование полных проектов любой сложности во время сборки в maven не стоит того, с чем вы столкнетесь.

Для новых проектов или, возможно, для переписывания этого приложения (если это когда-либо произойдет), я бы полностью предложил вместо этого начать с maven.

Я понимаю, что вы можете согнуть maven, чтобыделай все, что хочешь, но если мы сделаем переход, это должно быть сделано, чтобы преимущества maven не делали жизнь тяжелее!:)

Вы можете "согнуть maven", чтобы делать все, что вы хотите, но обычно вы стреляете себе в ногу, когда вы делаете это.Суть maven в том, что это сборка по соглашению, а не по конфигурации.Чем больше вы рискуете делать что-то, что выходит за рамки жизненного цикла maven, тем больше проблем вы требуете с точки зрения обслуживания и надежности вашей сборки.

1 голос
/ 27 августа 2010

Я не уверен на 100%, что я понял вашу текущую структуру проекта, но если вы не можете ничего изменить, похоже, есть серьезные проблемы с задержкой шоу. С Maven:

  1. родительские модули вложенных модулей не содержат код
  2. один модуль создает только один главный артефакт (хотя не уверен, что это ваш проект)

Несоблюдение макета Maven по умолчанию, являющегося незначительной проблемой по сравнению с вышеупомянутым.

Без более подробной информации о том, что можно изменить (не нарушая структуру), я просто не думаю, что это выполнимо элегантным способом (если даже выполнимо).

...