Как исключить некоторые модули из сборки Maven с помощью командной строки
Есть ли способ исключить некоторые модули из большой сборки реактора, похожие на -pl?
Вот несколько способов сделать это настойчиво:
Как исключить модуль из сборки реактора Maven?
Я хочу сделать это из оболочки или, по крайней мере, без изменения параметров, которые мне не разрешают изменять.
Ответы
Ответ 1
Maven 3.2.1 добавила эту функцию, которую вы можете использовать, чтобы указать точные проекты, которые вы хотите (или исключить проекты, которые вам не нужны) -pl
или --projects
Здесь, как исключить два:
-pl "!<modulename>,!<modulename2>"
для исключения определенных модулей. Это может быть разделенный запятыми список значений, которые вы хотите включить/исключить.
Ответ 2
Еще один комментарий к принятому ответу, не забудьте избежать восклицательного знака при запуске команды в bash:
> mvn clean install -pl \!module,\!module/submodule,\!groupId:artifactId
Ответ 3
Я не считаю, что в настоящее время это возможно из командной строки. В maven3 есть открытый запрос функции (http://jira.codehaus.org/browse/MNG-5230).
Похоже, что на данный момент ваш единственный вариант - изменить pom и создать новый профиль сборки, который включает только модули, которые вы хотите построить.
Ответ 4
Как писал Yogesh_D, это можно сделать с аргументом -pl с maven 3.2.1 +
Вот пример:
> mvn clean install -amd -pl !module,!module/submodule
Вам нужно перечислить каждый подмодуль (и под-модуль и т.д.) вручную, он не исключает их рекурсивно. Используйте косую черту для разделения пакетов. Это путь к папке, а не идентификатор группы или артефакта.