2011-01-20 9 views
6

はArtifactAはArtifactBに依存し、ArtifactCも、私は「MVN依存プラグインは、」プロジェクト/アーティファクトの依存関係を一覧表示することができますことを理解 Mavenの:別の成果物に依存して成果物を見つける方法

ArtifactB

に依存し、私たちが言ってみましょう。

しかし、その逆についてはどうですか?特定のアーティファクトに依存するプロジェクト/アーティファクトのリストを探したいのですか? 上記の例から、ArtifactAとArtifactCを取得したいと思います。

どうすればいいですか?

+0

[Mavenプロジェクトのすべてのモジュール間の依存関係のグラフを生成する方法は?](https://stackoverflow.com/questions/4084669/how-to-generate-a-graph-of-the -dependency-between-all-modules-of-a-maven-project) –

答えて

5

Mavenは現在のプロジェクトでしか動作できないため、現在のプロジェクト(またはサブモジュール)から他のプロジェクト(現在のプロジェクトのサブモジュールを含む)までの依存関係を検出できます。

mvn validate -pl child2/grandchild3 -amd 

これが実行されます:

     mycompany:parent 
        /    \ 
     mycompany:child1  mycompany:child2 
      /    /    \ 
    mycompany:grandchild1 mycompany:grandchild2 mycompany:grandchild3 

これは、あなたがgrandchild3する依存関係を持つすべてのサブプロジェクトを見つけることができる方法です。

だから、あなたが何ができるか、他のサブモジュールに応じて、特定のサブモジュールの検索がありますgrandchild3に依存する現在のプロジェクト内のすべてのプロジェクトのvalidateフェーズ

2

それはまったく簡単なことではありません。 1つのオプションは、クラス検索と呼ばれる機能を持つm2eclipseを使用しています。リポジトリビューで、リポジトリを右クリックし、完全なインデックスを有効にします。 次に、ナビゲート>タイプをmavenから開く - Javaパッケージの規則に基づいて利用可能なすべての成果物を見ることができます。

また、JARファイルを受け入れ、ローカルMavenリポジトリを検索して、JARからインポートされたパッケージ/クラスを満たす最も適切な成果物を探すJarAnalyzerに基づいて独自のツールを開発することもできます。

+0

実際に 'mvn validate'を使うのは簡単です。@Sean Patrick Floydの答えをご覧ください – tsayen

関連する問題