4

Maven アーティファクト (groupId:artifactId:version) が与えられた場合、その依存関係をプログラムで照会するにはどうすればよいですか? (実際にアーティファクトを取得する必要はなく、依存関係情報だけを取得する必要があります。)

編集して追加これを Maven プラグインの外で行いたいのですが、依存関係グラフを作成したいと思います。

4

3 に答える 3

1

Maven プラグイン (つまり、AbstractMojo の拡張) を使用している場合は、次のことができます。

  /**
   * @parameter expression="${project}"
   */
  private org.apache.maven.project.MavenProject mavenProject;

  List<org.apache.maven.model.Dependency> depmgtdeps = mavenProject.getDependencyManagement().getDependencies();

これにより、検出された実際の依存オブジェクトが得られます。MavenProject クラスには、さまざまな pom 関連のものを読み取るための他のメソッドも多数あります。ただし、これがプラグインの外で機能するとは思わないか、少なくとも、それを試みたことはありません。

于 2012-06-25T13:29:14.877 に答える
1

これらの2つのリンクは役に立ちました..

  1. 依存関係を取得するための Maven プラグイン
  2. Eclipse プラグインの使用
于 2012-06-25T13:30:28.127 に答える
1

次の groovy スクリプトは、ivyを使用して依存関係を解決します。

import groovy.xml.NamespaceBuilder

// Main program
// ============
def ant = new AntBuilder()
def ivy = NamespaceBuilder.newInstance(ant, "antlib:org.apache.ivy.ant")

ivy.resolve(
    inline:true,
    keep:true,
    conf:"default",
    organisation:"org.springframework",
    module:"spring-core",
    revision:"3.1.1.RELEASE",
)

ivy.report(toDir:"reports")

HTML レポートと graphml ファイルを生成します。

|-- report.groovy
|-- reports
|   |-- ivy-report.css
|   |-- org.springframework-spring-core-caller-default.graphml
|   `-- org.springframework-spring-core-caller-default.html
于 2012-06-25T21:29:04.970 に答える