プロファイルがありますデフォルトでアクティブ化 maven設定ファイル〜/ .m2/settings.xml.
このような何かをすることにより、コマンドラインからそれを無効にすることは可能ですか?
mvn -P!profileActivatedByDefault
はい、確かに、あなたは正しい方法を持っています。から Mavenプロファイルユーザーガイド
プロファイルの無効化
Maven 2.0.10以降では、コマンドラインを使用して、識別子に「!」または以下に示すように「-」:
mvn groupId:artifactId:goal -P !profile-1,!profile-2
これは、activeByDefaultとしてマークされたプロファイル、またはアクティブ化構成を介してアクティブ化されるプロファイルを非アクティブ化するために使用できます。
@Calfaterのコメントで指摘されているように、感嘆符はほとんどのシェル(bash、zsh、LinuxおよびMacOSのその他)でエスケープする必要がありますが、Windowsコマンドラインでは使用できません。
エスケープメカニズムはシェルに依存しますが、通常は次のことができます。
mvn groupId:artifactId:goal -P \!profile-1
または
mvn groupId:artifactId:goal -P '!profile-1'
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 says-このオプションは、使用するプロファイルIDのコンマ区切りリストである引数を取ります。このオプションを指定すると、オプション引数で指定したプロファイル以外のプロファイルはアクティブになりません。
つまり、これらのコマンドでは、引数で指定されたプロファイルのみがアクティブなプロファイルとして機能します