Maven学习笔记(五):Maven插件

Maven 插件

前面介绍过Maven的三个生命周期,每个周期都由一系列阶段(phase)组成,这些阶段就相当于Maven提供的统一接口,它们的实现均由Maven插件来实现。

全部章节传送门:
Maven学习笔记(一):Maven概述
Maven学习笔记(二):Maven依赖
Maven学习笔记(三):POM文件
Maven学习笔记(四):Maven仓库
Maven学习笔记(五):Maven插件

Maven 插件介绍

Maven 实际上是一个依赖插件执行的框架,每个任务实际上是由插件完成。Maven 插件通常被用来:

  • jar 文件
  • 创建 war 文件
  • 编译代码文件
  • 代码单元测试
  • 创建工程文档
  • 创建工程报告

插件通常提供了一个目标的集合,并且可以使用下面的语法执行:

mvn [plugin-name]:[goal-name]

例如,一个 Java 工程可以使用 maven-compiler-plugin 的 compile-goal 编译,使用以下命令:

mvn compiler:compile

Maven插件类型

Maven 提供了下面两种类型的插件:

类型 描述
Build plugins 在构建时执行,并在 pom.xml 的 元素中配置。
Reporting plugins 在网站生成过程中执行,并在pom.xml的元素中配置。

下面是一些常用插件的列表:

插件 描述
clean 清理目标文件,删除目标目录。
compiler 编译 Java 源文件。
surefile 运行 JUnit 单元测试。创建测试报告。
jar 从当前工程中构建 JAR 文件。
war 从当前工程中构建 WAR 文件。
javadoc 为工程生成 Javadoc。
antrun 从构建过程的任意一个阶段中运行一个 ant 任务的集合。

Maven项目模板

Archetype 是一个 Maven 插件,其任务是按照其模板来创建一个项目结构。

执行如下命令即可创建Maven项目模板。

mvn archetype:generate

常用的archetype有以下2种:

  • maven-archetype-quickstart
    默认的Archetype,基本内容包括:

    • 一个包含junit依赖声明的pom.xml
    • src/main/java主代码目录及一个名为App的类
    • src/test/java测试代码目录及一个名为AppTest的测试用例
  • maven-archetype-webapp
    一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:

    • 一个packaging为war且带有junit依赖声明的pom.xml
    • src/main/webapp/目录
    • src/main/webapp/index.jsp文件
    • src/main/webapp/WEB-INF/web.xml文件

你可能感兴趣的:(Maven学习笔记(五):Maven插件)