maven急需掌握的基本概念

maven需要掌握的基本概念

maven的主要概念需要掌握:

goal(目标):目标属于特定的插件,目标是可以执行的,目标的执行:mvn eclipse:eclipse  ,第一个eclipse是表示使用eclispe插件(不是Eclipse的插件,这是maven自己的插件), 第二个eclipse表示这个eclipse插件的eclipse目标。因为一个插件有多个目标,你必须选取一个来执行。

phase(过程):构成生命周期的各个阶段 ,例如package是个过程 mvn package就是执行到package这个过程,为什么叫执行到,因为过程是处于特定的生命周期内的某个特定步骤,你指定一个执行过程,那么它将执行这个生命周期之前的所有过程,而这些过程,会根据你设定的打包类型(packaging),在每个过程中使用不同的目标(0或多个),例如packaging是pom类型的,compile的过程就是0个目标,而没有目标的过程是不被执行的,所以你可以认为没有执行这个过程。

plugin(插件):Maven 就是一个插件框架,它所有的功能都是靠插件实现。

build lifecycle(构建生命周期):A Build Lifecycle is Made Up of Phases ,A Build Phase is Made Up of Goals,这句话的意思是,一个构建生命周期,由很多过程组成,每个过程有0到多个目标构成,而目标都是由插件提供。通常我们不需要从头到尾配置POM,因为默认POM都继承自Super POM,所以,只要是一个POM,它就会有个默认的一套配置了。

生命周期及其过程,以及默认binding http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference

目标和过程可以混用:mvn clean dependency:copy-dependencies package ,先执行clean过程(及其所属的生命周期之前的所有过程),再执行dependency插件的copy-dependencies目标,再执行package过程(及其所属的生命周期之前的所有过程)。

maven 入门必读:http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html,英文

参考资料:

http://thomaslee007.iteye.com/blog/1264122maven急需掌握的基本概念

http://aiape.iteye.com/blog/1455420maven急需掌握的基本概念

http://agandas.iteye.com/blog/1190781maven急需掌握的基本概念