从命令行取消激活mavenconfiguration文件

我有一个在我的maven设置文件〜/ .m2 / settings.xml中 默认激活的configuration文件。

是否有可能通过做这样的事情从命令行停用它:

mvn -P!profileActivatedByDefault 

是的,你有正确的方法。 从maven个人资料用户指南

取消激活configuration文件

从Maven 2.0.10开始,可以使用命令行来禁用一个或多个configuration文件,方法是在它们的标识符前面添加字符'!' 或' – '如下所示:

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

这可用于停用标记为activeByDefault的configuration文件或将通过其激活configuration激活的configuration文件。

正如@Calfater在评论中指出的,感叹号需要在大多数linux shell中逃脱(不是在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说这个选项的参数是用逗号分隔的profile-id列表。 如果指定了此选项,则不会激活除选项参数中指定的configuration文件之外的configuration文件。

这意味着使用这些命令只有在参数中指定的configuration文件将充当活动configuration文件