Maven插件开发简介

Maven 由一个提供基本项目处理能力和构建过程管理的核心引擎和许多用于执行实际构建任务的插件组成。

什么是插件?

“Maven”实际上只是一个 Maven 插件集合的核心框架。换句话说,插件是执行大部分实际操作的地方,插件用于:创建 jar 文件、创建 war 文件、编译代码、单元测试代码、创建项目文档等等。几乎所有你能想到的对项目执行的操作都被实现为 Maven 插件。

插件是 Maven 的核心功能,它允许跨多个项目重用通用构建逻辑。他们通过在项目描述——项目对象模型 (POM) 的上下文中执行“动作”(即创建 WAR 文件或编译单元测试)来做到这一点。插件行为可以通过一组独特的参数来定制,这些参数由每个插件目标(或 Mojo)的描述公开。

Maven 中最简单的插件之一是 Clean Plugin。Maven Clean 插件(maven-clean-plugin)负责删除一个 Maven 项目的目标目录。当您运行“mvn clean”时,Maven 会执行 Clean 插件中定义的“clean”目标,并删除目标目录。Clean 插件定义了一个可用于自定义插件行为的参数,该参数称为 outputDirectory,默认为 ${project.build.directory}。

什么是 Mojo(为什么 H--- 被命名为“Mojo”)?

Mojo 实际上只是 Maven 中的一个目标,插件由任意数量的目标 (Mojos) 组成。Mojos 可以定义为带注释的 Java 类或 Beanshell 脚本。Mojo 指定有关目标的元数据:目标名称、它适合的生命周期的哪个阶段以及它所期望的参数。

MOJO 是 POJO(Plain-old-Java-object)上的一个游戏,用“Maven”代替“Plain”。Mojo 也是一个有趣的词(见定义)。从Wikipedia中,“mojo”被定义为:“……一个人穿在衣服下面的小袋子(也称为 mojo 手)。这种袋子被认为具有超自然的力量,例如防止邪恶,带来祝你好运之类的。”

什么是构建生命周期?(概述)

构建生命周期是所有项目构建自然进展的一系列共同阶段。插件目标绑定到生命周期中的特定阶段。

资源

  1. 插件开发中心
  2. 配置插件