1

Maven プラグインの一部を作成しましたが、プラグインとして実行できなくなりました。SCM、または任意の pom.xml にアクセスでき、アーティファクト リポジトリといくつかの Maven 座標のみが含まれます。これは、Maven の座標を取得し、その依存関係を出力することを目的としています (それらに関するレポートを実行します)。これを行うには、(たとえば) プログラムによるアクセスが必要です。

  • MavenProjectBuilder
  • DependencyGraphBuilder

mojo に挿入する通常のものですが、これは mojo ではなく、そのままでは実行できません (pom.xml がないため)。

私が持っているコードは役に立ちませんでした。たとえば、AbstractMojoTestCase には、私が持っていない pom.xml が必要です。

私はいくつかのコードが欲しい..

    DefaultPlexusContainer container = new DefaultPlexusContainer();
    Context context = container.getContext();
    context.put("plexus", new DefaultPlexusContainer());
    container.initialize();
    container.start();

    MavenProjectBuilder mavenProjectBuilder = (MavenProjectBuilder) container.lookup(MavenProjectBuilder.ROLE);
    DependencyGraphBuilder dependencyGraphBuilder = (DependencyGraphBuilder) container.lookup(DependencyGraphBuilder.class.getName());
    MavenProject project = mavenProjectBuilder.buildFromRepository(artifact, remoteArtifactRepositories, localRepository);
    // do stuff with dependencies

しかし、何かが足りない。ヘルプ!

4

1 に答える 1

2

それがどのように行われたかを見てください https://github.com/jenkinsci/lib-jenkins-maven-embedder (同様の目的でジェンキンスで使用しています)

于 2013-02-08T13:41:30.360 に答える