Mavenが選択したsettings.xmlファイルを確認するには、mavenコマンドラインをどのように使用すればよいですか?
-Xオプション(debug)を付けてmavenを起動し、出力の先頭を調べます。このようなものがあるはずです:
...
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from c:\....\Apache-maven-3.0.3\conf\settings.xml
[DEBUG] Reading user settings from c:\....\.m2\settings.xml
[DEBUG] Using local repository at C:\....\repository
...
(元のディレクトリ名は削除されます)
Cletusの(正しい)答えに対するあなたのコメントは、複数のMaven設定ファイルが関係していることを意味しています。
Mavenは常に1つか2つの設定ファイルを使います。 ($ {M2_HOME} /conf/settings.xml)で定義されているグローバル設定は常に必要です。ユーザー設定ファイル($ {user.home} /。m2/settings.xmlに定義されています)はオプションです。ユーザー設定で定義された設定は、対応するグローバル設定よりも優先されます。
グローバルおよびユーザー設定の場所はコマンドラインから上書きできます。次の例では、グローバル設定をc:\ global\settings.xmlに設定し、ユーザー設定をc)に設定します。 :\ user\settings.xml:
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
現在、Mavenでどのユーザーおよびグローバル設定ファイルが使用されたかを確認するためのプロパティまたは手段はありません。これらの値にアクセスするには、MavenCliまたはDefaultMavenSettingsBuilder、あるいはその両方を変更して、ファイルの場所を解決されたSettingsオブジェクトに挿入する必要があります。
あなたは maven help plugin を使ってあなたのユーザとグローバル設定ファイルの内容を伝えることができます。
mvn help:effective-settings
グローバル設定とユーザー設定の組み合わせを吐き出すようにMavenに依頼します。
これはMaven用の設定ファイルです。 2つのレベルで指定できます。
ユーザーレベルこのsettings.xmlファイルは単一のユーザーの設定を提供し、通常$ {user.home} /。m2/settings.xmlに提供されています。
NOTE: This location can be overridden with the CLI option:
-s /path/to/user/settings.xml
グローバルレベルこのsettings.xmlファイルは、マシン上のすべてのMavenユーザーに設定を提供します(全員が同じMavenインストールを使用していると仮定して)。通常$ {maven.home} /conf/settings.xmlで提供されています。
NOTE: This location can be overridden with the CLI option:
-gs /path/to/global/settings.xml
Mavenが目的のsettings.xmlを使用しているかどうかを判断するための迅速で汚い方法は、そのxmlを無効にしてsettings.xmlを必要とする安全なmavenコマンドを実行することです。
this settings.xmlと表示されている場合、Mavenはエラーを報告しています。 "settings.xmlの読み取りエラー..."
グローバル変数用のM2_HOME
環境変数。 設定リファレンス を参照してください。
settings.xml
ファイルのsettings
要素には、pom.xml
のようにMavenの実行をさまざまな方法で設定するための値を定義するために使用される要素が含まれています。これらには、ローカルリポジトリの場所、代替リモートリポジトリサーバー、認証情報などの値が含まれます。 settings.xmlファイルが存在する場所は2つあります。
- Mavenのインストール:
$M2_HOME/conf/settings.xml
- ユーザーのインストール:
${user.home}/.m2/settings.xml