web-dev-qa-db-ja.com

Mavenが使用しているsettings.xmlファイルを判別するためのMavenコマンド

Mavenが選択したsettings.xmlファイルを確認するには、mavenコマンドラインをどのように使用すればよいですか?

241
harschware

-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
...

(元のディレクトリ名は削除されます)

290
elek

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オブジェクトに挿入する必要があります。

161
Rich Seller

あなたは maven help plugin を使ってあなたのユーザとグローバル設定ファイルの内容を伝えることができます。

mvn help:effective-settings

グローバル設定とユーザー設定の組み合わせを吐き出すようにMavenに依頼します。

112
serg10

これはMaven用の設定ファイルです。 2つのレベルで指定できます。

  1. ユーザーレベルこのsettings.xmlファイルは単一のユーザーの設定を提供し、通常$ {user.home} /。m2/settings.xmlに提供されています。

              NOTE: This location can be overridden with the CLI option:
    
              -s /path/to/user/settings.xml
    
  2. グローバルレベルこの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
    
35
firstthumb

Mavenが目的のsettings.xmlを使用しているかどうかを判断するための迅速で汚い方法は、そのxmlを無効にしてsettings.xmlを必要とする安全なmavenコマンドを実行することです。

this settings.xmlと表示されている場合、Mavenはエラーを報告しています。 "settings.xmlの読み取りエラー..."

23
topchef

グローバル変数用のM2_HOME環境変数。 設定リファレンス を参照してください。

settings.xmlファイルのsettings要素には、pom.xmlのようにMavenの実行をさまざまな方法で設定するための値を定義するために使用される要素が含まれています。これらには、ローカルリポジトリの場所、代替リモートリポジトリサーバー、認証情報などの値が含まれます。 settings.xmlファイルが存在する場所は2つあります。

  • Mavenのインストール:$M2_HOME/conf/settings.xml
  • ユーザーのインストール:${user.home}/.m2/settings.xml
23
cletus