Maven生命周期

  一个完整的项目构建通常包括清理,编译,测试,打包,继承部署等步骤,而maven是生命周期的抽象,具体的任务都交给了插件来完成。


一、Maven三套生命周期


1 clean生命周期

1.1 pre-clean执行一次清理前需要完成的工作

1.2 clean清理上一次构建生成的文件

1.3 执行一次清理后需要完成的工作


2 default生命周期


  是生命周期中最核心的部分包含了构建项目的所有步骤。编译,测试,打包,部署(只介绍核心内容)

2.1 source

2.2 resource

2.3complie

2.4test

2.5test-complie

2.6 package

2.7install

2.8 deploy 


3 site生命周期


  site是建立和发布项目站点。本文不重点介绍

 

二、命令与生命周期

 

 用命令行执行maven任务主要还是调用maven的生命周期阶段。各个生命周期是相互独立的,而每个生命周期的阶段是有前后的依赖关系的


  命令行解释

   mvn clean:    该命令会调用clean生命周期的 clean阶段。执行阶段为clean生命周期的pre-cleanclean阶段

   mvn clean install该命令调用clean生命周期的clean阶段和default生命周期的install阶段。实际执行的阶段为clean生命周期的 pre-cleanclean以及

defualt生命周期从validateinstall的所有阶段。结合了两个生命周期。

 

三、Maven 插件


  生命周期与插件的关系。我们先来看看maven插件存放在哪里

    maven插件定位在

%本地仓库%\org\apache\maven\plugins,可以看到一些下载好的插件:


 

  详细查看请查看Maven官网

 

   插件目标Plugin Goals:


    一个插件通常可以完成多个任务,每一个任务就叫做插件目标。对于插件本身,为了能够复用代码,往往可以完成多个任务。

如:

    Maven-dependency-plugin 有十多个目标  dependencyanalyze

  当我们执行mvn install命令时,调用的该插件和执行的目标如下:



 

  将插件绑定到生命周期

   maven的生命周期与插件是相互绑定的,用以完成构建任务

    这一过程是在生命周期的具体阶段(phase)绑定插件目标(goal)来完成的。如:将maven-compiler-plugin插件的compile目标绑定到default

生命周期的compile阶段,完成项目的源代码编译:

 

 

如:我们编译源代码


<plugin> <!-- 编译源码插件 -->
		<!-- 用来编译位于src/main/java/目录下的主源码 -->
		<groupId>org.apache.maven.plugins</groupId>  <!-- 项目或者组织的唯一标志 -->
		<artifactId>maven-compiler-plugin</artifactId> <!-- 项目的通用名称 -->
		<version>${maven-compiler-plugin.version}</version>
		<!-- 使用maven-compiler-plugin 指定JDK版本和编码 -->
		<configuration>    <!-- 通常用于私有不开源的plugin -->
			<source>${maven.compile.source}</source>        <!-- 编译源代码 jdk版本编译 -->
			<target>${maven.compile.target}</target>
			<encoding>${project.build.sourceEncoding}</encoding>      <!-- 用于maven中的文件拷贝 的 编码格式 -->
		</configuration>
	</plugin>

 

小结:


Maven的生命周期在项目中贯穿始终,无论是在命令行还是在构建项目时,都脱离不了生命周期的概念,构建与生命周期的关系又是其中的重点

,主要还是要理解生命周期与插件之间的绑定石通过 phasegoals

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值