从命令行取消激活 maven 配置文件

2022-08-31 11:14:25

我在我的 maven 设置文件 ~/.m2/settings 中默认激活了一个配置文件.xml。

是否可以通过执行如下操作从命令行停用它:

mvn -P!profileActivatedByDefault

答案 1

是的,确实有正确的方法。来自 maven 配置文件用户指南

停用配置文件

从 Maven 2.0.10 开始,可以使用命令行停用一个或多个配置文件,方法是在其标识符前面加上字符“!”或“-”前缀,如下所示:

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

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

正如@Calfater在注释中指出的那样,感叹号在大多数shell(linux和MacOS上的bash,zsh和其他)中都需要转义,尽管在windows命令行上不需要。

逃生机制依赖于外壳,但通常你可以这样做:

mvn groupId:artifactId:goal -P \!profile-1

mvn groupId:artifactId:goal -P '!profile-1'

或者,正如 Shaun Morris 在下面建议的那样,使用 代替 ,但和配置文件之间没有空格-!-P

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

答案 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