Maven: наследование или агрегация проекта лучше поддерживают этот сценарий? - PullRequest
3 голосов
/ 01 июля 2011

Я портирую проект с муравья на мавена.Проект состоит из базового набора классов, который получает jar'd и используется 3-4 другими подпроектами.Важно отметить (я думаю?), Что у jar-ядра есть своя собственная конфигурация, которая устанавливается во время сборки, и каждый подпроект также имеет конфигурацию, установленную во время сборки.В старой системе ant каждый раз, когда я собирал один из подпроектов с чем-то вроде:каталог dir сборки подпроекта.Я хотел бы продублировать эту функциональность, используя maven.Судя по тому, что я прочитал, кажется, что Maven может справиться с этим, используя наследование проекта или агрегацию.Каковы основные различия между этими двумя методами и что бы вы порекомендовали для описанного выше варианта использования?

1 Ответ

3 голосов
/ 01 июля 2011

Наследование используется для обмена общими вещами между вашими проектами, такими как зависимость от сторонней библиотеки или ее свойства, или местоположение scm. Агрегация используется для построения ваших проектов как группы. Вам нужна агрегация, но это не значит, что вы также не будете использовать наследование для выделения общих вещей.

Обновление: также имейте в виду, что maven - это не только сборка (в отличие от ant), но и управление зависимостями, так что вы можете просто создавать зависимости на ядре и вообще не использовать агрегирование. Вы бы зависели от конкретной версии вашего ядра. Это, однако, не удовлетворяет вашему требованию построить все сразу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...