мультимодульный проект maven - PullRequest
7 голосов
/ 05 марта 2010

Если у меня есть 6 модулей в моем проекте, возможно ли построить только один из шести? без комментирования других?

EDIT

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

Ответы [ 4 ]

10 голосов
/ 05 марта 2010

возможно ли построить только один из шести? без комментирования других?

Насколько я понимаю, вы хотите запустить maven из агрегирующего проекта (то есть сборки реактора), но собрать только один модуль. Это возможно при использовании опции -pl, --projects список проектов (см. расширенные опции реактора ):

mvn --projects my-submodule install

Это очень мощный параметр, особенно в сочетании с --aslo-make (для создания проектов, от которых зависят перечисленные модули) или --also-make-dependents (также для создания проектов, зависящих от перечисленных модулей). На основании вашего обновления вы можете захотеть это на самом деле:

mvn --projects my-submodule --also-make install

Запуск Maven из каталога модуля, который вы хотите построить, - это, конечно, вариант, но он не позволит вам выполнить вышеупомянутые действия или создать подмножество всех модулей. Для таких случаев лучше всего использовать усовершенствованные варианты реактора.

3 голосов
/ 05 марта 2010

Открытие командной оболочки, переход в каталог подмодулей и выполнение mvn install (или любого другого предпочитаемого вами жизненного цикла) должны помочь.

2 голосов
/ 05 марта 2010

Вы можете просто собрать модуль, зайдя в этот каталог модулей и запустив mvn clean install.

Однако обратите внимание, что при использовании этого метода зависимости от других модулей будут взяты из вашего локального хранилища (или хранилища entreprise).

Давайте рассмотрим простой пример:

project
  + commons
  + business

Теперь представьте, что вы строите в каталоге root весь проект с помощью команды mvn clean install. Учтите, что все ваши модули в версии 1.0.

Теперь вы переходите на версию 1.1. Если вы запустите mvn clean install только для проекта business, он попытается получить 1.1 модуля commons. После этого у вас будет ошибка, так как Maven не найдет ни одной версии 1.1 в вашем локальном хранилище.

0 голосов
/ 05 марта 2010

В Eclipse, если у вас установлен m2eclipse: щелкните правой кнопкой мыши по соответствующему модулю и выберите Run As -> Maven package.

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