public abstract class AbstractMojo extends Object implements Mojo, ContextEnabled
Mojo除执行方法之外的大部分所需的基础结构。Mojo带有目标名称的注释:
@Mojo( name = "<goal-name>" )
还有一些属性可用于控制
Mojo执行的方式和时间:
| 描述符元素 | 注解 | 必需的? | 笔记 |
|---|---|---|---|
| 目标 | name = "<目标名称>" | 是的 | Mojo 的名称,用户将从命令行中引用以直接执行 Mojo,或在 POM 中引用以提供特定于 Mojo 的配置。 |
| 执行 | 无(检测到) | 是的 | Mojo 的完全限定类名(或非 Java Mojos 的脚本路径)。 |
| 语言 | 无(检测到) | 编号 默认值:java |
此 Mojo 的实现语言(Java、beanshell 等)。 |
| 配置器 | 配置器 = "<角色提示>" | 不 | 将参数值注入此 Mojo 时使用的配置器类型。该值通常从 Mojo 的实现语言推导出来,但可以指定为允许使用自定义 ComponentConfigurator 实现。
注意:这只会在非常特殊的情况下使用,使用高度受控的可能值词汇表。(像这样的元素就是为什么使用描述符工具是个好主意的原因。) |
| 阶段 | defaultPhase = LifecyclePhase.<阶段> | 不 | 将此 Mojo 绑定到标准构建生命周期的特定阶段(如果指定)。
注意:仅当此 Mojo 参与标准构建过程时才需要这样做。 |
| 执行 | @Execute(阶段=生命周期阶段。<阶段>,目标=“<目标名称>”,生命周期=“<生命周期ID>”) | 不 | 当这个目标被调用时,它会首先调用一个并行的生命周期,在给定的阶段结束。如果提供了目标而不是阶段,则该目标将单独执行。任何一个的执行都不会影响当前项目,而是
${executedProject}在需要时使表达式可用。还可以提供备用生命周期:有关更多信息,请参阅
构建生命周期的文档。
|
| requiresDependencyResolution | requiresDependencyResolution = ResolutionScope.<范围> | 不 | 将此 Mojo 标记为要求在执行之前解析指定范围(或隐含范围)中的依赖项。
注意:目前支持compile、runtime和test范围。 |
| 描述 | 无(检测到) | 不 | 此 Mojo 功能的描述。使用该工具集,这将是提供的类级别 Javadoc 描述。 注意:虽然这不是 Mojo 规范的必需部分,但应该提供它以支持未来的工具对浏览等的支持,并且为了清晰起见。 |
| 参数 | 不适用 | 不 | 此 Mojo 使用的参数的规范将在本节的参数子元素中提供。
注意:参数将在下面更详细地讨论。 |
这只是所有选项中的一小部分。完整列表可以在 Maven Plugin Tool for Annotations中找到。
| 构造函数和描述 |
|---|
AbstractMojo() |
| 修饰符和类型 | 方法及说明 |
|---|---|
Log |
getLog()
返回已注入此 mojo 的记录器。
|
Map |
getPluginContext() |
void |
setLog(Log log)
注入一个标准的
Maven日志机制,允许它Mojo向用户传达事件和反馈。 |
void |
setPluginContext(Map pluginContext)
Map在执行之前为 mojo设置一个新的共享上下文。 |
public Log getLog()
返回已注入此 mojo 的记录器。如果尚未设置
SystemStreamLog记录器,则将创建并返回记录器。
getLog 在界面中 Mojo"debug"、
"info"、"warn"和"error". 此记录器是向用户显示信息的公认方式。Mojo.getLog()public Map getPluginContext()
getPluginContext 在界面中 ContextEnabledMap存储在插件容器的上下文中。public void setPluginContext(Map pluginContext)
ContextEnabledMap在执行之前为 mojo设置一个新的共享上下文。setPluginContext 在界面中 ContextEnabledpluginContext- 一个新的Map版权所有 © 2001–2022 Apache 软件基金会。版权所有。