Maven之——插件目标及绑定
来源:互联网 发布:手机藏文输入法软件 编辑:程序博客网 时间:2024/06/04 00:30
1、 插件
2、 插件目标(PluginGoal)
Maven的核心仅仅定义了抽象的生命周期、具体的任务交由插件完成、插件以独立的形式存在、Maven会在需要的时候下载并使用插件。
一个插件有可能有多个功能、每个功能就是一个目标。比如maven-dependency-plugin有十多个目标、每个目标对应了一个功能。插件的目标为dependency:analyze、dependency:tree和dependency:list。通用写法、冒号前面是插件前缀、冒号后面是插件的目标。比如compiler:compile。
3、 插件绑定
Maven的生命周期与插件绑定、具体而言是生命周期的阶段与插件绑定、比如default生命周期的compile阶段可以由maven-compile-plugin插件的compile目标完成、将他们绑定就能实现编译的目的。
3.1、 内置绑定
Maven为实现快速构建、有一套内置的插件绑定。三套生命周期的插件绑定具体如下(其实是各个生命周期阶段与插件的目标的绑定)、其中default生命周期的构建方式会其打包类型有关、打包类型在POM中<packaging>packageType</packaging>指定、一般有jar、war两种类型、下面是 常用的jar的构建过程:
上面三个生命周期中有很多原来的生命周期阶段没有默认绑定插件、也就意味着默认情况下他们没有任何意义。当然如果我们有自己特殊的处理、可以为他们绑定特殊的插件、比如下面会有提到的在打包的时候生成jar包的源码、可以在default生命周期的verify阶段绑定生成源码插件的生成源码的目标。
3.2、 自定义绑定
自定义绑定允许我们自己掌控插件目标与生命周期的结合、下面以生成项目主代码的源码jar为例。使用到的插件和他的目标为:maven-source-plugin:jar-no-fork、将其绑定到default生命周期阶段verify上(可以任意指定三套生命周期的任意阶段)、在项目的POM配置中(也可以在父POM中配置、后面聚合与继承会有提到)
上述配置有插件的坐标声明、还有excutions下面每个excution子元素配置的执行的一个个任务、通过phase指定与生命周期的那个阶段绑定、在通过goals指定执行绑定插件的哪些目标。
当插件的目标绑定到不同的生命周期阶段的时候、插件目标的执行顺序是有生命周期阶段的顺序决定的、当多个插件目标绑定到同一生命周期阶段的时候、顺序是按照插件声明的顺序来决定目标的执行顺序。
注:一个生命周期阶段能绑定到多个插件目标,同理,一个插件目标也能绑定到多个生命周期阶段。
- Maven之——插件目标及绑定
- Maven之——插件目标及绑定
- Maven之——插件目标及绑定、命令行调用插件、目标前缀(插件前缀解析策略)、插件解析运行机制
- maven概述之插件与目标
- Maven讲解之 插件和目标
- Maven 核心概念——插件和目标
- Maven插件与目标
- maven生命周期、插件目标如何执行及差别
- Maven自定义绑定插件
- Myeclipse学习总结(7)——Eclipse插件之Maven配置及问题解析
- Maven学习之插件—maven-assembly-plugin
- [Maven]Eclipse插件之Maven配置及问题解析.
- maven核心概念--插件和目标
- maven插件与目标和生命周期阶段
- (十一)maven核心概念-插件目标
- Maven:生命周期及插件
- Maven及插件安装
- Maven之——插件配置与解析
- 限制排列与棋盘多项式
- Java传值问题
- 357. Count Numbers with Unique Digits统计各位不同的数字个数
- QT学习之路————QT程序在开发板上显示 中文字体
- HDU-Bone Collector(01背包问题)
- Maven之——插件目标及绑定
- 使用 Collectd + InfluxDB + Grafana 监控主机
- 例题3-3 回文词 UVa401
- HDU-1079 Calendar Game(博弈论)
- Qt+opencv开发笔记(1)
- 整数对查找
- 决策树算法(五)——处理一些特殊的分类
- CubieTruck安装Redis
- 使用springmvc 和nginx 搭建一个文件上传下载服务器