Подтвердить что ты не робот

Деактивировать профиль maven из командной строки

У меня есть профиль , активированный по умолчанию в моем файле настроек maven ~/.m2/settings.xml.

Можно ли отключить его из командной строки, выполнив что-то вроде этого:

mvn -P!profileActivatedByDefault
4b9b3361

Ответ 1

Да, действительно, у вас есть правильный путь. Из руководства пользователя maven

Деактивация профиля

Начиная с Maven 2.0.10, один или несколько профилей могут быть дезактивированы с помощью командной строки путем префикса их идентификатора либо символом '!' или '-', как показано ниже:

mvn groupId:artifactId:goal -P !profile-1,!profile-2

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

Как отмечено @Calfater в комментариях, восклицательный знак должен быть экранирован в большинстве оболочек Linux (но не в командной строке Windows).

Ответ 2

На Mac я получил следующую ошибку, пытающуюся использовать '!'

mvn groupId:artifactId:goal -P!profile-1
-bash: !profile: event not found

Выполнение следующих работ с помощью "-":

mvn groupId:artifactId:goal -P-profile1

В качестве альтернативы вы можете:

mvn groupId:artifactId:goal -P\!profile1

Ответ 3

mvn groupId:artifactId:goal -P profile-1,profile-2

Maven Doc говорит. Этот параметр принимает аргумент, который является списком идентификаторов профиля с разделителями-запятыми. Когда этот параметр указан, профили, отличные от тех, которые указаны в аргументе параметра, не будут активированы.

Это означает, что с этими командами только профиль, указанный в аргументах, будет действовать как активный профиль