maven(19)-生命周期和内置插件
2017-09-02 10:23
337 查看
生命周期和依赖一样,是maven中最重要的核心概念。平时在使用maven时并不一定需要知道生命周期,但是只有明白了生命周期,才能真正理解很多重要的命令和插件配置。
default是maven的几个生命周期中最重要的一个,其完整周期远不止上面五个阶段,这五个只是其中最重要,并且有必要掌握的。
这五个阶段其实就是五个maven命令,比如compile就是mvn compile,install就是mvn install,作用如下
compile:将代码编译后输出到target目录
test:执行src/test/java目录中的测试用例,只有主代码先编译以后才能对其执行测试。
package:生成jar包到target,只有测试通过以后才允许打包。
install:将上面的jar包安装到本地仓库,只有打包后才能安装。
deploy:这不是部署到tomcat服务器,而是部署到maven远程仓库。只有本地仓库安装成功了,部署到远程仓库才是同步的。
前面的阶段是后面的阶段的必经之路,所以当执行deploy时,会把这五个命令按顺序执行一次。如果执行test,则只会执行compile和test。
我并没有在pom.xml中声明任何插件,但这个命令按照生命周期顺序执行了红框中的插件,这些插件是maven内置的。有红字标识的就是我前面讲的前四个较重要的阶段,其他红框是我没讲的,但同样也是生命周期的一个阶段。还有一些阶段是直接执行的,并没有绑定插件,在这里并没有显示。
maven-resources-plugin:用来设置utf-8编码,就是在我们上面图中的第一个插件的生命周期中完成的。
maven-compiler-plugin:用来设置jdk版本,就是图中的第二个插件。
当你在项目的pom.xml中配置了内置插件的参数,这些参数就会覆盖默认参数,在内置插件绑定的生命周期执行时生效。maven正是通过这种内置插件,给用户提供了很大的灵活配置空间
default生命周期
default是maven的几个生命周期中最重要的一个,其完整周期远不止上面五个阶段,这五个只是其中最重要,并且有必要掌握的。
这五个阶段其实就是五个maven命令,比如compile就是mvn compile,install就是mvn install,作用如下
compile:将代码编译后输出到target目录
test:执行src/test/java目录中的测试用例,只有主代码先编译以后才能对其执行测试。
package:生成jar包到target,只有测试通过以后才允许打包。
install:将上面的jar包安装到本地仓库,只有打包后才能安装。
deploy:这不是部署到tomcat服务器,而是部署到maven远程仓库。只有本地仓库安装成功了,部署到远程仓库才是同步的。
前面的阶段是后面的阶段的必经之路,所以当执行deploy时,会把这五个命令按顺序执行一次。如果执行test,则只会执行compile和test。
生命周期与内置插件
生命周期的很多阶段是和各个插件绑定在一起的,也就是用插件来完成这些阶段的任务。我现在在一个spring boot项目中执行install,控制台信息如下我并没有在pom.xml中声明任何插件,但这个命令按照生命周期顺序执行了红框中的插件,这些插件是maven内置的。有红字标识的就是我前面讲的前四个较重要的阶段,其他红框是我没讲的,但同样也是生命周期的一个阶段。还有一些阶段是直接执行的,并没有绑定插件,在这里并没有显示。
插件目标
在上面的图中,每个插件末尾都是:xxx,比如maven-install-plugin:2.5.2:install,:号后面的install就是插件目标。一个插件可以有多个目标,每个目标执行的功能也不一样。比如我在第九篇install中讲过,install:install-file是安装jar文件,install:install是安装源代码也是install的默认目标。自定义插件绑定
用过maven的人可能经常会配置几个常用的插件,比如maven-resources-plugin:用来设置utf-8编码,就是在我们上面图中的第一个插件的生命周期中完成的。
maven-compiler-plugin:用来设置jdk版本,就是图中的第二个插件。
当你在项目的pom.xml中配置了内置插件的参数,这些参数就会覆盖默认参数,在内置插件绑定的生命周期执行时生效。maven正是通过这种内置插件,给用户提供了很大的灵活配置空间
相关文章推荐
- Maven初识(三)——Maven的常用命令(插件),生命周期
- maven的生命周期,插件介绍(二)
- Maven的生命周期,阶段,插件,目标的关系
- MAVEN 生命周期与插件笔记
- maven笔记3--生命周期和插件
- maven的生命周期和插件
- Maven 生命周期与插件
- 深入理解maven及应用(一):生命周期和插件
- maven的概念,生命周期,插件,goal等
- maven学习笔记三(生命周期与插件)
- Eclipse使用Maven内置插件不需要安装Maven
- Maven百科 - 项目构建中的生命周期与插件管理
- Maven入门教程三----生命周期和插件
- maven 父子项目 聚合与继承 生命周期 打包插件 依赖打包 jar pom war
- maven教程之四生命周期和插件
- Maven学习(四):生命周期与maven插件
- [置顶] 【Maven】项目管理利器Maven(五)——生命周期和插件
- Maven插件(plugin)goal的执行与生命周期(lifecycle)phase的关系
- maven-生命周期与插件结合