org.apache.maven.plugin
接口 MavenPluginManager

所有已知的实现类:
默认MavenPluginManager

public interface MavenPluginManager

提供管理 Maven 插件及其 mojos 的基本服务。该组件在其设计中保持通用,因此插件/mojos 可以在任意上下文中使用。特别是,mojos 可用于普通构建插件以及报告等特殊用途插件。

自从:
3.0
作者:
本杰明·本特曼

方法总结
 void checkRequiredMavenVersion(PluginDescriptor pluginDescriptor)
          验证指定的插件是否与当前的 Maven 运行时兼容。
<T> T
getConfiguredMojo(Class<T> mojoInterface, MavenSession session, MojoExecution mojoExecution)
          查找指定 mojo 执行的 mojo,并从 mojo 执行给出的配置中填充其参数。
 MojoDescriptor getMojoDescriptor(Plugin plugin, String goal, List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session)
          从插件的主要工件中检索指定插件目标的描述符。
 PluginDescriptor getPluginDescriptor(Plugin plugin, List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session)
          从其主要工件中检索指定插件的描述符。
 void releaseMojo(Object mojo, MojoExecution mojoExecution)
          将指定的 mojo 释放回容器。
 void setupPluginRealm(PluginDescriptor pluginDescriptor, MavenSession session, ClassLoader parent, List<String> imports, org.eclipse.aether.graph.DependencyFilter filter)
          为指定的插件设置类领域。
 

方法详情

获取插件描述符

PluginDescriptor getPluginDescriptor(Plugin plugin,
                                     List<org.eclipse.aether.repository.RemoteRepository> repositories,
                                     org.eclipse.aether.RepositorySystemSession session)
                                     throws PluginResolutionException,
                                            PluginDescriptorParsingException,
                                            InvalidPluginDescriptorException
从其主要工件中检索指定插件的描述符。

参数:
plugin- 应检索其描述符的插件不能是null.
repositories- 用于解析插件主要工件的插件存储库不能是null.
session- 用于解析插件主要工件的存储库会话不能是null.
回报:
插件描述符,从不null
抛出:
PluginResolutionException
PluginDescriptorParsingException
InvalidPluginDescriptorException

获取MojoDescriptor

MojoDescriptor getMojoDescriptor(Plugin plugin,
                                 String goal,
                                 List<org.eclipse.aether.repository.RemoteRepository> repositories,
                                 org.eclipse.aether.RepositorySystemSession session)
                                 throws MojoNotFoundException,
                                        PluginResolutionException,
                                        PluginDescriptorParsingException,
                                        InvalidPluginDescriptorException
从插件的主要工件中检索指定插件目标的描述符。

参数:
plugin- 应该检索其 mojo 描述符的插件,不能是null.
goal- 应检索其描述符的 mojo 的简单名称不能是null.
repositories- 用于解析插件主要工件的插件存储库不能是null.
session- 用于解析插件主要工件的存储库会话不能是null.
回报:
mojo 描述符,从不null
抛出:
MojoNotFoundException
PluginResolutionException
PluginDescriptorParsingException
InvalidPluginDescriptorException

检查必需的Maven版本

void checkRequiredMavenVersion(PluginDescriptor pluginDescriptor)
                               throws PluginIncompatibleException
验证指定的插件是否与当前的 Maven 运行时兼容。

参数:
pluginDescriptor- 要检查的插件的描述符,不能是null.
抛出:
PluginIncompatibleException

setupPluginRealm

void setupPluginRealm(PluginDescriptor pluginDescriptor,
                      MavenSession session,
                      ClassLoader parent,
                      List<String> imports,
                      org.eclipse.aether.graph.DependencyFilter filter)
                      throws PluginResolutionException,
                             PluginContainerException
为指定的插件设置类领域。类领域和构成它的插件工件都将存储在插件描述符中。

参数:
pluginDescriptor- 保存类领域和插件工件的插件描述符不能是null.
session- 从中选择当前项目和存储库设置的构建会话不能是 null.
parent- 插件的父类领域,可能是null使用 Maven 核心领域。
imports- 要从父领域导入的包/类型可能是null.
filter- 用于排除某些插件依赖项的过滤器可能是null.
抛出:
PluginResolutionException
PluginContainerException

获取配置的Mojo

<T> T getConfiguredMojo(Class<T> mojoInterface,
                        MavenSession session,
                        MojoExecution mojoExecution)
                    throws PluginConfigurationException,
                           PluginContainerException
查找指定 mojo 执行的 mojo,并从 mojo 执行给出的配置中填充其参数。与 mojo 执行关联的 mojo/plugin 描述符提供了类域以从中查找 mojo。警告:返回的 mojo 实例必须在 releaseMojo(Object, MojoExecution)不再需要 mojo 以释放为其分配的任何资源时释放。

参数:
mojoInterface- mojo 的组件角色,不能是null.
session- 将在其上下文中使用 mojo 的构建会话不能是null.
mojoExecution- 检索 mojo 的 mojo 执行不能是null.
回报:
准备执行的魔力,永远不会null
抛出:
PluginConfigurationException
PluginContainerException

释放魔力

void releaseMojo(Object mojo,
                 MojoExecution mojoExecution)
将指定的 mojo 释放回容器。

参数:
mojo- 要释放的魔力,可能是null
mojoExecution- 最初检索 mojo 的 mojo 执行不能是null.


版权所有 © 2001–2013 Apache 软件基金会。版权所有。