У меня есть профиль , активированный по умолчанию в моем файле настроек maven ~/.m2/settings.xml.
Можно ли отключить его из командной строки, выполнив что-то вроде этого:
mvn -P!profileActivatedByDefault
У меня есть профиль , активированный по умолчанию в моем файле настроек maven ~/.m2/settings.xml.
Можно ли отключить его из командной строки, выполнив что-то вроде этого:
mvn -P!profileActivatedByDefault
Да, действительно, у вас есть правильный путь. Из руководства пользователя maven
Деактивация профиля
Начиная с Maven 2.0.10, один или несколько профилей могут быть дезактивированы с помощью командной строки путем префикса их идентификатора либо символом '!' или '-', как показано ниже:
mvn groupId:artifactId:goal -P !profile-1,!profile-2
Это можно использовать для деактивации профилей, отмеченных как activeByDefault или профилей, которые в противном случае активировались бы через их конфигурацию активации.
Как отмечено @Calfater в комментариях, восклицательный знак должен быть экранирован в большинстве оболочек Linux (но не в командной строке Windows).
На 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
mvn groupId:artifactId:goal -P profile-1,profile-2
Maven Doc говорит. Этот параметр принимает аргумент, который является списком идентификаторов профиля с разделителями-запятыми. Когда этот параметр указан, профили, отличные от тех, которые указаны в аргументе параметра, не будут активированы.
Это означает, что с этими командами только профиль, указанный в аргументах, будет действовать как активный профиль