maven(1)

Maven进价:Maven的生命周期阶段

一、Maven的生命周期

Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。

Maven的生命周期是抽象的,即生命周期不做任何实际的工作,实际任务由插件完成,类似于设计模式中的模板方法。

二、三套生命周期

Maven有三套相互独立的生命周期,分别是clean、default和site。每个生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。

1、clean生命周期:清理项目,包含三个phase。

1)pre-clean:执行清理前需要完成的工作

2)clean:清理上一次构建生成的文件

3)post-clean:执行清理后需要完成的工作

2、default生命周期:构建项目,重要的phase如下。

1)validate:验证工程是否正确,所有需要的资源是否可用。

2)compile:编译项目的源代码。

3)test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。

4)Package:把已编译的代码打包成可发布的格式,比如jar。

5)integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。

6)verify:运行所有检查,验证包是否有效且达到质量标准。

7)install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。

8)Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。

3、site生命周期:建立和发布项目站点,phase如下

1)pre-site:生成项目站点之前需要完成的工作

2)site:生成项目站点文档

3)post-site:生成项目站点之后需要完成的工作

4)site-deploy:将项目站点发布到服务器

三、命令行和生命周期

各个生命周期相互独立,一个生命周期的阶段前后依赖。

举例如下:

1、mvn clean

调用clean生命周期的clean阶段,实际执行pre-clean和clean阶段

2、mvn test

调用default生命周期的test阶段,实际执行test以及之前所有阶段

3、mvn clean install

调用clean生命周期的clean阶段和default的install阶段,实际执行pre-clean和clean,install以及之前所有阶段

四、m2eclipse和生命周期

1、m2eclipse中预置的mvn命令

右键maven项目或pom.xml文件>Run As 可以看到预置的mvn命令

2、自定义mvn命令

单击 上图中的maven Build...,自定义命令 mvn clean install:

定义完成后,点击maven Build,可以看到定义好的命令:

时间: 2024-10-09 17:58:37

maven(1)的相关文章

Maven(一)——如何在Windows操作系统中安装配置Maven环境

今天难得的周末,借此难的机会总结一下关于maven的一些操作: 1.在安装maven之前要确认计算机已经安装并配置了JDK: 2.下载maven: maven-3.0.3:http://download.csdn.net/detail/wangshuxuncom/7367413 maven-3.0.5:http://download.csdn.net/detail/wangshuxuncom/7551799 说明:上述资源均免费下载 这里选择maven-3.0.3来演示安装.将maven-3.0

maven(04)--一个简单的项目

简单介绍 一个maven项目,使用hibernate框架,实现向mysql数据库中添加和获取操作,其他操作也是类似 如果你没有hibernate,那么也不要紧,这里主要介绍如何在一个maven项目中引入框架 项目流程 1.新建一个maven项目,项目命名为maven-ch04 2.添加相关依赖,如junit.hibernate.mysql驱动.log4j pom.xml文件添加以下依赖(如果你是第一次加这些依赖,那么需要等一会,这时候IDEA会下载一些相关文件) 如果你不知道如何查找依赖,可以查

Maven(三)在Eclipse中使用Maven与Maven坐标

这一篇讲解一下在eclipse中使用maven,在一些高版本的eclipse中是自带maven插件的.所以这里就不在讲解怎么安装插件了. 接下来我们创建一个MavenFirst项目 一.在Eclipse中创建一个MavenFirst项目 第一步:创建一个Maven工程 第二步:选择创建java项目——>next 第三步:填写GAV 第四步:点击finsh,完成创建 第五步:创建一个MavenFirst.java package com.zyh.maven.MavenFirst; public c

Maven(二)Maven项目的创建(命令、myeclipse)及生命周期

上一篇给大家介绍了Maven的概念和仓库的一些信息,接下来给大家分享一下使用命令和MyEclipse创建Maven项目 一.使用命令管理Maven项目 1.1.创建Maven java项目 1)创建一个文件夹(MavenProject)——>该文件夹下按shift+右击选择在此处打开命令窗口——>这样创建的maven[java]项目就在该文件夹下 2)命令:mvn archetype:generate -DgroupId=com.zyh.maven.quickstart -DartifactI

maven(02)--简单的命令操作

使用maven有什么好处呢? 这个问题留到该文的末尾进行总结>v< maven测试 在上一篇文章中介绍了如何简单的编译一个java文件,执行mvn compile命令后,你会发现在你新建的maven-ch01项目目录下多了一个target文件,该文件下classes文件夹下便是编译后的class文件: 接下来在main文件应该包含两个文件夹,分别为src和test,不可变动: src文件夹下是放项目的主要文件,可以在新建一个java文件夹用来存储java代码:test文件夹下则放一些测试类,也

Maven(二):入门项目

上篇文章讲解了Maven的安装与配置,并且演示了maven如何与Eclipse集成,本篇文章则就开始实战了,以一个简单的例子来说明Maven项目的建立与使用. 一. 编写pom 要说Maven项目的核心是什么,就不得不说POM了.POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等.每个Maven项目下都要有一个POM文件,现在来看一个最简单的POM文件. <projectxmlns="http://maven.apac

Maven(五)使用Nexus搭建Maven私服

文章装载于:http://blog.csdn.net/jun55xiu/article/details/39497089 Nexus介绍 Nexus是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要.此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extj

Maven(一)——安装(包括Eclipse的Maven插件)

注意:我的eclipse用的是最新一版的ADT,去年google就停止对ADT的支持了,现在大部分公司都已经转用Android Studio了. 1.首先到Maven官网下载Maven,window下下载 "Binary zip" 即可 2.注意:官网有注明了,没安装JDK环境的必须要先安装JDK 3.通过Help -> About Eclipse可以查看到eclipse的版本 安装完成后,eclipse会要求你确定重启,重启之后Help菜单就多了一项"Ecplise

Maven(二)核心知识点

Maven有一些核心的知识点需要了解,比如坐标.仓库.插件.生命周期等概念,这里将依次解释. 坐标 Maven以构件来组成基本的控制单元,而定义这个构件的标示,Maven给定义为“坐标”.坐标是Maven最基本的概念,它就像每个构件的身份证号码,有了它我们就可以在数以千万计的构件中定位任何一个我们感兴趣的构件. “坐标”这个词听起来很摸不着头脑,其实很简单,上一博客里面已经用到了,即下面这几个xml元素即组成了一个坐标 <groupId>com.company.maven01</grou

Maven(三)坐标与依赖

Maven的一大功能就是管理项目依赖,为了能自动化地解析任何一个Java构件,Maven就必须将它们唯一标识,这就是依赖管理的底层基础--坐标.下面我们就详细介绍一下Maven里的坐标. 这里的坐标,显示方式和大家熟悉的平面几何中的坐标(x,y)不一样,但是含义是一致的,这也说明了没有新知识,只有不同知识间的相互转化.可以说,任何一个坐标,不管是平面几何中,也可以是一个地址,都是能够唯一标识该平面中的一点. 相对于平面中的点和城市中的地址,Maven的世界里拥有数量非常巨大的构建,也就是平常使用