我的maven设置文件〜/ .m2 / settings.xml 中有一个默认激活个人资料。
是否可以通过执行以下操作从命令行停用它:
mvn -P!profileActivatedByDefault
答案 0 :(得分:86)
确实,你有正确的方法。 来自maven profiles user guide
停用个人资料
从Maven 2.0.10开始,可以使用命令行停用一个或多个配置文件,方法是在其标识符前加上字符'!'或' - '如下所示:
mvn groupId:artifactId:goal -P !profile-1,!profile-2
这可用于停用标记为activeByDefault的配置文件或通过其激活配置激活的配置文件。
@Calfater在评论中指出,感叹号需要在大多数shell(bash,zsh和Linux和MacOS上的其他shell)中进行转义,但不在Windows命令行中。
转义机制依赖于shell,但通常可以这样做:
mvn groupId:artifactId:goal -P \!profile-1
或者
mvn groupId:artifactId:goal -P '!profile-1'
答案 1 :(得分:25)
在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
答案 2 :(得分:3)
mvn groupId:artifactId:goal -P profile-1,profile-2
Maven Doc说 - 此选项接受一个参数,该参数是逗号分隔的profile-id列表。如果指定此选项,则不会激活除option参数中指定的配置文件之外的任何配置文件。
这意味着使用这些命令只有参数中指定的配置文件才能充当活动配置文件