maven笔记(一)

一.maven是什么?

maven是一个Java语言编写的开源项目管理工具,是Apache软件基金会的顶级项目.主要用于项目构建依赖管理项目信息管理,是现今最流行的项目构建工具.

二.maven的生命周期

概述:一个完整的项目构建过程通常包括清理编译测试打包集成测试验证部署等步骤,Maven从中抽取了一套完善的、易扩展的生命周期。Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务编写并绑定了默认的插件,如针对编译的插件:maven-compiler-plugin。用户也可自行配置或编写插件。


  • maven的3套生命周期

Maven定义了三套生命周期:cleandefaultsite,每个生命周期都包含了一些阶段(phase)。三套生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase。执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase

1.`clean`生命周期
`pre-clean`   :执行清理前的工作;
`clean`       :清理上一次构建生成的所有文件;
`post-clean`  :执行清理后的工作
2.`default`生命周期
default生命周期是最核心的,它包含了构建项目时真正需要执行的所有步骤。
validate
initialize
generate-sources
process-sources
generate-resources
`process-resources`    :复制和处理资源文件到target目录,准备打包;
`compile`              :编译项目的源代码;
process-classes
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources
`test-compile`         :编译测试源代码;
process-test-classes
`test`                 :运行测试代码;
prepare-package
`package`              :打包成jar或者war或者其他格式的分发包;
pre-integration-test
integration-test
post-integration-test
verify
`install`              :将打好的包安装到本地仓库,供其他项目使用;
`deploy`               :将打好的包安装到远程仓库,供其他项目使用;
3.`site`生命周期
pre-site
site           :生成项目的站点文档;
post-site
site-deploy    :发布生成的站点文档

三.maven的插件

Maven的核心文件很小,主要的任务都是由插件来完成.
一个插件通常可以完成多个任务,每一个任务就叫做插件的一个目标。
Maven的生命周期是抽象的,实际需要插件来完成任务,这一过程是通过将插件的目标(goal)绑定到生命周期的具体阶段(phase)来完成的。
maven的生命周期和插件是maven的核心工作原理.

四.maven的常用命令

`mvn clean` : 执行maven的clean生命周期,包括里面的三个任务.完成清除项目的目标,执行后项目的target目录中的项目信息被清除,如果外层存在target目录的jar,war包,也会一并清除.
`mvn compile` : 执行maven的default生命周期,包括compile之前的validate等好几个任务,不包括clean生命周期,执行后项目的target目录中classes目录中会生成正式的.class文件,compile在test-compile之前执行,所以执行compile不会生成测试的.class文件.
`mvn clean compile` : 先执行clean生命周期,然后执行default生命周期的compile之前的任务.
`mvn clean test-compile` : 先执行clean生命周期,然后执行default生命周期的test-compile之前的任务.
`mvn clean package` : 先执行clean生命周期,然后执行default生命周期的package之前的任务,执行后项目目录会生成target目录,里面包含项目生成的jar包或者war包(maven打包的方法)
`mvn clean package -Dmaven.test.skip=true` : clean,打包,跳过测试
`mvn clean package -P test -Dmaven.test.skip=true` : clean,指定test文件打包,跳过测试(-P:指profile,test是pom文件中的profile标签的id名称,意思是指定test文件打包)
`mvn clean install` : 先执行clean生命周期,然后执行default生命周期的install之前的任务,执行后项目被打好的包会自动安装到本地仓库,可以被其他项目使用
(这个命令执行后,你会在几个地方找到jar包?)

本文参考博文地址: Maven的生命周期和插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值