Maven实战学习笔记2
来源:互联网 发布:淘宝店铺首页显示不全 编辑:程序博客网 时间:2023/06/07 05:52
Chap 07 生命周期和插件
1.除了坐标、依赖和仓库,Maven另外的核心概念是生命周期和插件。命令输入的命令对应着生命周期,生命周期是抽象的,其行为通过插件来完成。
2.Maven有三种独立的生命周期:clean清理、default编构建和site建立和发布项目站点。每个生命周期分为不同的阶段,例如clean分为pre-clean、clean和post-clean。阶段是有顺序的,比如执行clean生命周期会调用pre-clean和clean。
3.clean生命周期:
a) pre-clean:清理前工作
b) clean:清理工作
c) post-clean:清理后工作
4.default生命周期:定义构建所需的所有步骤
a) Validate:验证
b) Initialize:初始化
c) generate-sources:代码生成
d) process-source:处理项目主资源文件。对src/main/resource内容进行变量替换,赋值到项目输出的主claspath中。
e) generate-resources:资源生成
f) process-resources:资源处理
g) Compile:编译src/main/java下的java文件至主classpath目录中
h) process-classes:处理编译后的classes
i) generate-test-sources、process-test-sources、generate-test-resources-process-test-resources、test-compileprocess-test-classes类似
j) test:使用单元测试框架运行测试,测试代码不会打包或者部署。
k) prepare-package、package:打包相关
l) pre-integration-test、integration-test、post-integration-test:集成测试相关
m) verify
n) Install:安装到本地maven库
o) Deploy:部署到远程仓库
5.site生命周期:建立和发布项目站点
a) pre-site
b) Site:生成项目站点文档
c) post-site
d) site-deploy:将生成的项目站点发布到服务器上
6.命令行与生命周期:通过命令行调用maven生命周期,生命周期的不同阶段是前后依赖的。
a) Mvn clean:调用pre-clean和clean阶段。
b) Mvn test:调用default生命周期的的test阶段。包括test之前的所有阶段。
c) Mvn clean install:clean生命周期的clean阶段和default生命周期的install阶段。
7.生命周期是通过插件完成的,一个插件可能包含多个目标,可以通过插件别名:目标的方式调用特定的目标,例如:compiler:compile,调用maven-compiler-plugin的compile目标。
8.生命周期需要与插件的目标进行绑定:
a) 内置绑定:
i. Clean生命周期:maven-clean-plugin:clean与生命周期中的clean阶段绑定。
ii. Site生命周期:maven-site-plugin:site与site绑定,maven-site-plugin:deploy与site-deploy绑定。
iii. Default生命周期:与打包类型(pom.xml中的packaging)有关,jar类型的绑定关系如下。
生命周期阶段
插件目标
执行任务
process-resources
maven-resources-plugin:resources
复制主资源文件至主输出目录
compile
maven-compile-plugin:compile
编译主代码至主输出目录
process-test-resources
maven-resources-plugin:testRresources
复制测试资源文件至测试输出目录
test-compile
maven-compiler-plugin:testCompile
编译测试代码至测试输出目录
test
maven-surefire-plugin:test
执行测试用例
package
maven-jar-plugin:jar
创建项目jar包
install
maven-install-plugin:install
将项目输出构件安装到本地仓库
deploy
maven-deploy-plugin:deploy
将项目输出构件部署到远程仓库
b) 自定义绑定:如制作源码jar,可以自定义绑定到default生命周期的某个阶段。可以使用maven-help-plugin插件(mvn help:describe -Dplugin=org.apache.maven.plugins:xxx)查看具体插件默认绑定的阶段,例如:
mvn help:describe -Dplugin=org.apache.maven.plugins:maven-source-plugin
9.插件配置:
a) 命令行配置:-D参数键=参数值的形式,如:mvn install -Dmaven.test.skip=true跳过测试阶段。
b) Pom.xml中配置:
i. 全局配置:plugin标签下configuration定义插件的通用配置,如maven-compile-plugin配置java版本信息。
ii. 任务配置:通过plugin下的execution配置maven插件目标与生命周期的对应关系,此时configuration标签位于execution目录下,表示为认为配置而不是全局配置。
10.命令行执行插件goal:
a) 插件goal能与生命周期中的不同阶段绑定。
b) 提供插件目标前缀简化插件执行:如下命令效果一样:
Mvn help:describe -Dplugin=compiler
#help为maven-help-plugin的目标前缀
Mvn org.apache.maven.plugins:maven-help-plugin:2.1:describe -Dplugin=compiler
#groupId:org.apache.maven.plugins,artifactId:maven-help-plugin,version:2.1,goal:describe,参数通过-D传递
11.pluginRepositories和pluginRespository配置插件仓库,默认groupId位org.apache.maven.plugins可以省略
- Maven实战学习笔记2
- 《Maven 实战》学习笔记
- Maven实战学习笔记1
- maven实战笔记-2
- Maven实战学习笔记 1.Maven介绍
- Maven实战学习笔记(仓库)
- 《Maven实战》学习笔记目录(转载)
- Maven实战学习笔记、6.仓库
- 《Maven实战》学习笔记目录(转载)
- 《maven实战》学习笔记2——maven安装(windows和eclipse插件)
- Maven实战学习笔记 2.Maven的安装与配置
- Maven实战学习笔记 3.Maven使用入门
- [Maven实战]-学习笔记(二):Maven安装及配置
- Maven实战学习笔记 3.Maven使用入门
- 《maven实战》学习笔记3——maven使用入门
- 《Maven实战》第1,2章笔记
- maven实战笔记-1
- maven实战笔记-1
- hdu 5144 Frogs 数论
- 牛顿法与拟牛顿法学习笔记(四)BFGS 算法
- arcgis-“一个或多个已经添加图层的范围与关联空间参考不一致”“Arcmap不能绘制一个或者多个图层”
- 异常处理
- <Lisp面面观>松本行弘谈Lisp元编程
- Maven实战学习笔记2
- TX2系统安装
- 内存泄漏常见代码片段
- Golang plugin 插件例子
- 1161: 字符串长度(指针专题)
- CSS代码的简写
- 数据结构基础与常见算法
- gcc 编译工具(下)--- 外部库、共享库、静态库、动态库
- Python