1

如何在执行时动态获取 Mojo(我正在开发的)的依赖项列表?

据我所见(但显然我可能会遗漏一些东西),似乎可以从 Mojo 获得的唯一信息是关于调用插件的 MavenProject。

澄清更新:我正在寻找正在运行的 Mojo 的数据,而不是 Mojo 所针对的项目。

4

3 回答 3

1

您可以通过注入直接获取插件工件:

/** 
 * @parameter default-value="${plugin.artifacts}" 
 */
protected List<org.apache.maven.artifact.Artifact> pluginArtifacts;
于 2013-06-13T13:48:48.137 回答
0

通过将其放入插件中,您可以获得对 maven 项目的引用:

/**
 * @parameter expression="${project}"
 * @required
 * @readonly
 */
private MavenProject project;

从项目中,您几乎可以获得包括项目依赖项在内的所有内容。

于 2013-06-11T12:44:48.157 回答
0

我找到了解决问题的方法:

@Component
private MojoExecution execution;

public void execute() throws MojoExecutionException, MojoFailureException {
  for (Artifact artifact : (Collection<Artifact>) execution.getMojoDescriptor().getPluginDescriptor().getArtifacts()) {
    getLog().info("Artifact: " + artifact);
  }
}
于 2013-06-13T02:49:16.440 回答