插件描述符

插件描述符,存储在 插件的 jar 工件中的META-INF/maven/plugin.xml中。此描述符通常使用 maven-plugin-plugin从插件源生成。

注意:本文档是从 Modello 模型生成的,但执行的代码不是从这个描述符生成的。如果您发现任何错误,请报告。

<plugin>
  <name/>
  <description/>
  <groupId/>
  <artifactId/>
  <version/>
  <goalPrefix/>
  <isolatedRealm/>
  <inheritedByDefault/>

  <mojos>
    <mojo>
      <goal/>
      <description/>
      <implementation/>
      <language/>
      <phase/>
      <executePhase/>
      <executeGoal/>
      <executeLifecycle/>
      <requiresDependencyResolution/>
      <requiresDependencyCollection/>
      <requiresDirectInvocation/>
      <requiresProject/>
      <requiresReports/>
      <requiresOnline/>
      <aggregator/>
      <inheritedByDefault/>
      <threadSafe/>
      <instantiationStrategy/>
      <executionStrategy/>
      <since/>
      <deprecated/>
      <configurator/>
      <composer/>

      <parameters>
        <parameter>
          <name/>
          <alias/>
          <type/>
          <required/>
          <editable/>
          <implementation/>
          <description/>
          <since/>
          <deprecated/>
        </parameter>
      </parameters>
      <configuration>
        <paramName implementation=.. default-value=.. />
      </configuration>

      <requirements>
        <requirement>
          <role/>
          <role-hint/>
          <field-name/>
        </requirement>
      </requirements>
    </mojo>
  </mojos>

  <dependencies>
    <dependency>
      <groupId/>
      <artifactId/>
      <version/>
      <type/>
    </dependency>
  </dependencies>
</plugin>

插入

plugin.xml文件的根元素 。

元素 类型 描述
姓名 细绳 插件的名称。
描述 细绳 插件说明。
组 ID 细绳 插件的组 ID。
工件 ID 细绳 插件的工件 ID。
版本 细绳 插件的版本。
目标前缀 细绳
隔离领域 布尔值
默认值为false
默认继承 布尔值
默认值为true
魔力/魔力* 列表<MojoDescriptor> (许多)插件提供的每个 Mojo 的描述。
依赖/依赖* 列表<依赖> (许多)插件运行所需的一组依赖项。这使插件能够独立于其 POM 运行(或至少声明它需要运行的库)。

魔力

Mojo 描述。

元素 类型 描述
目标 细绳 Mojo 的目标名称,用户将从命令行引用该名称以直接执行 Mojo,或在 POM 中引用该名称以提供特定于 Mojo 的配置。
描述 细绳 此 Mojo 功能的描述。
执行 细绳 Mojo 的完全限定类名(或非 Java Mojos 的脚本路径)。
语言 细绳 这个 Mojo 的实现语言(java、beanshell 等)。
默认值为java
阶段 细绳 如果用户未在 POM 中显式设置阶段,则定义将 mojo 执行绑定到的默认阶段。 注意:当插件声明添加到 POM 时,这不会自动运行 mojo。它只是使用户能够 从周围的 <execution>元素中省略<phase>元素。
执行阶段 细绳 参考 Mojo 的调用阶段。
执行目标 细绳 引用 Mojo 的调用目标。
执行生命周期 细绳
requiresDependencyResolution 细绳 将此 Mojo 标记为需要在执行之前解析指定类路径中的依赖项: compileruntimetestcompile+runtime(从 Maven 3.0 开始)或 runtime+system(从 Maven 3.0 开始)
默认值为runtime
需要依赖集合 细绳 将此 mojo 标记为需要有关构成指定类路径的依赖项的信息。顾名思义,这类似于 requiresDependencyResolution 并支持相同的值。重要的区别是这不会解析依赖项的文件,即与 Maven 项目关联的工件可能缺少文件。因此,此注释适用于只想分析传递依赖项集的 mojo,特别是在早期生命周期阶段,由于尚未构建的项目,完全依赖项解析可能会失败。
需要直接调用 布尔值 将此 Mojo 标记为仅直接调用。
默认值为false
需要项目 布尔值 将此 Mojo 标记为需要在项目内部运行。
默认值为true
需要报告 布尔值 将此 Mojo 标记为需要在报告上下文中运行。自 Maven 3.0 起不受支持。
默认值为false
需要在线 布尔值 将此 Mojo 标记为需要在线模式才能运行。
默认值为false
聚合器 布尔值 标记此 Mojo 以以多模块方式运行它,即将构建与列为模块的项目集聚合。
默认值为false
默认继承 布尔值 指定 Mojo 是继承的。
默认值为true
线程安全 布尔值 将此 mojo 标记为线程安全的,即 mojo 在并行构建期间安全地支持并发执行。在并行构建会话期间使用没有此注释的 Mojos 将使 Maven 输出警告。从 Maven 3.0.
默认值为false
实例化策略 细绳 指定实例化策略。
默认值为每次查找
执行策略 细绳 指定执行策略: 每次会话一次总是
默认值为每会话一次
自从 细绳 指定将 Mojo 添加到 API 时的版本。此后类似于 Javadoc。
已弃用 细绳 指定 API 弃用 Mojo 时的版本。类似于已弃用的 Javadoc。当用户尝试配置标记为已弃用的参数时,这将触发警告。
配置器 细绳 将参数值注入此 Mojo 时使用的配置器类型。该值通常从 Mojo 的实现语言推导出来,但可以指定为允许使用自定义 ComponentConfigurator 实现。
作曲家 细绳
参数/参数* 列表<参数> (许多)
配置/参数名称* 列表<配置> (许多)
要求/要求* 列表<需求> (许多)

范围

相位映射定义。

元素 类型 描述
姓名 细绳 参数的名称,在从 Mojo 声明的默认值或 POM 配置此参数时使用。
别名 细绳 指定可用于从 POM 配置此参数的别名。这主要有助于提高用户友好性,因为 Mojo 字段名称对用户来说不直观,或者不利于通过 POM 进行配置。
类型 细绳 此参数的 Java 类型。这用于验证用于计算应为该参数注入 Mojo 的值的任何表达式的结果。
必需的 布尔值 Mojo 运行是否需要此参数。这用于在注入之前验证 Mojo 的配置,以及在从某个半状态执行 Mojo 之前。
默认值为false
可编辑 布尔值 指定此参数可以由用户直接配置(如 POM 指定配置的情况)。当您想要强制用户使用通用 POM 元素而不是插件配置时,这很有用,例如您想要使用工件的最终名称作为参数的情况。在这种情况下,您希望用户修改 <build><finalName/></build>而不是直接在插件配置部分中指定 finalName 的值。确保 - 例如 - 需要 Artifact 类型的项目的 List 类型的参数不会得到一个满是字符串的 List 也是有用的。
默认值为true
执行 细绳
描述 细绳 该参数在 Mojo 中的使用说明。
自从 细绳 指定将参数添加到 API 时的版本。此后类似于 Javadoc。
已弃用 细绳 指定 API 弃用参数时的版本。类似于已弃用的 Javadoc。当用户尝试配置标记为已弃用的参数时,这将触发警告。

参数名称

一个参数配置。

元素内容:参数表达式,让用户使用系统属性、pom 属性或设置属性覆盖默认值。

属性 类型 描述
执行 细绳
默认值 细绳 默认值,作为将在注入或运行时评估的表达式。

要求

描述组件需求。

元素 类型 描述
角色 细绳
角色提示 细绳
字段名 细绳 有此要求的字段名称。

依赖

插件在运行时需要的依赖项的定义。

元素 类型 描述
组 ID 细绳 依赖项的组 ID。
工件 ID 细绳 依赖项的工件 ID。
版本 细绳 依赖项的版本。
类型 细绳 依赖的类型。
默认值为jar