как запустить только родительский pom.xml в многомодульном проекте maven - PullRequest
2 голосов
/ 27 января 2011

У меня есть мультимодульный проект Maven.На родительском уровне у меня есть несколько файлов Java.А в родительском pom.xml на этапе упаковки я делаю кое-что.

Обычно, когда я запускаю пакет mvn на родительском уровне, запускается фаза пакета родительского pom, а также упаковываются все модули.

Я ищу способ, позволяющий мне сделать это (когда я запускаю mvn package):

  • позволяет мне запускать только paren pom.xml (скрипт в пакетефаза), а не модули.Это первый приоритет.
  • позволяет мне запускать paren pom.xml и некоторые конкретные модули (например, модуль 1, модуль 2, но не модуль 3, модуль 4).я использую профиль для этой проблемы?

    Спасибо.

Ответы [ 3 ]

8 голосов
/ 18 декабря 2012

Хотя я согласен с тем, что у вас может не быть оптимальной структуры проекта, ответ заключается в том, что в Maven 2.2.1 есть опция «--non-recursive», которая удовлетворяет вашему первому требованию:

-N,--non-recursive    Do not recurse into sub-projects

Так что-то вроде этого:

mvn --non-recursive clean compile 
1 голос
/ 27 января 2011

Почему вы хотите иметь Java-код на верхнем уровне? На мой взгляд, это не очень хорошая идея. Добавьте свой код в подпроекты и пусть проект верхнего уровня будет отвечать за хранение общей информации и конфигурации всего проекта.

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

0 голосов
/ 27 января 2011

Взгляните на Родительский pom Maven против pom модулей

Характер вашего вопроса указывает на то, что структура вашего проекта может быть неоптимальной.

...