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



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

是否可以在命令行中禁用它,方法如下:

mvn -P!profileActivatedByDefault

是的,你的方法是对的。从maven配置文件用户指南

取消激活配置文件

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

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

这可以用来取消激活标记为activeByDefault的配置文件,或者通过激活配置激活的配置文件。

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

转义机制是依赖于shell的,但通常你可以这样做:

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

在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

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

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

这可以用来取消激活标记为activeByDefault的配置文件或通过激活配置激活的配置文件。参考Maven Doc

由于!感叹号是大多数命令行工具的特殊字符,因此您可能需要对其进行转义,此处参考

最新更新