質問

m2e Eclipseプラグインをダウンロードしてそれを愛したばかり!プロジェクトの推移的な依存関係をすべて解決するために使用するWebサービスを疑問に思います。

i が、Project <dependency>からすべてのpom.xml要素を解析して機能し、サービスを使用してMavenをクエリする。

基本的には、尋問しています。

役に立ちましたか?

解決

プラグインは maven コマンドラインProgam MVNと同じように機能します。

プロジェクトのPOMとMaven設定ファイルがデフォルトのリポジトリ設定を変更しないと仮定して、Maven Central からファイルをダウンロードします。

http://repo1.maven.org/maven2/

だから次のように依存関係を取ります:

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.16</version>
</dependency>
.

Mavenは次のURLコンベンションを使用します(Maven2リポジトリレイアウト):

<Repository URL>/<groupId>/<artifactId>/<version>/<artifactId>-<version>.<packaging>
.

2ファイルをダウンロードするには:

  1. http://repo1.maven。 ORG / maven2 / log4j / log4j / 1.2.16 / log4j-1.2.16.pom
  2. http://repo1.maven。 ORG / maven2 / log4j / log4j / 1.2.16 / log4j-1.2.16.jar

    最初のものはモジュールPOMです。パッケージング要素は、2番目のファイルをダウンロードするときに使用するファイル名拡張子を示します(デフォルトは "jar")。

    最後にMavenはPOMにリストされている他の依存関係に関連したPOMファイルを再帰的に読み、その他のモジュールをダウンロードする(依存関係の依存)を決定します。

他のヒント

通常のMaven依存関係解決プロセスを実行することによって

。各依存関係については、推移的な依存関係を再帰的に解決します。「サービス」は、構成されたMavenリポジトリからの依存関係のPOMの単なるクエリです。

M2Eが特にどのようにしているのかわからないが、mvn dependency:treeを使用してコマンドラインで同じことができます。そのコマンドはさまざまな出力フォーマットをサポートしています。テキスト、ドット、GraphML、TGF。 Maven依存プラグインドキュメント

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top