web-dev-qa-db-ja.com

コマンドラインからMavenプロファイルを非アクティブ化する

プロファイルがありますデフォルトでアクティブ化 maven設定ファイル〜/ .m2/settings.xml.

このような何かをすることにより、コマンドラインからそれを無効にすることは可能ですか?

mvn -P!profileActivatedByDefault
58
Calfater

はい、確かに、あなたは正しい方法を持っています。から 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'
93
GPI

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
25
Shaun Morris
mvn groupId:artifactId:goal -P profile-1,profile-2

Maven Doc says-このオプションは、使用するプロファイルIDのコンマ区切りリストである引数を取ります。このオプションを指定すると、オプション引数で指定したプロファイル以外のプロファイルはアクティブになりません。

つまり、これらのコマンドでは、引数で指定されたプロファイルのみがアクティブなプロファイルとして機能します

3
SparkOn