Maven新手笔记
- 格式:ppt
- 大小:1.26 MB
- 文档页数:20


maven2.0学习笔记[摘]-SQ-CSDN博客Maven简介Maven最初的目的是在Jakarta Turbine项目中使构建处理简单化。
几个项目之间使用到的Ant build文件差异很小,各个JAR都存入CVS。
因此希望有一个标准的方法构建各个工程,清晰的定义一个工程的组成,一个容易的方法去发布项目信息并且去提供一种在各个项目之间共享JAR包。
结果出现了一种功能能用于构建和管理任何基于java的工程。
Maven小组希望他们已经做到了一些事情,这将有助于Java开发者更容易的完成每天的工作并且有助于理解任何基于java的项目。
Maven的目标是:•使构建过程更容易•提供统一构建系统•提供高质量的项目信息•提供开发的最佳实践指南•能无缝的加入新的特性对Maven的错误理解•Maven是一个站点和文档制作工具。
•Maven扩展了Ant,使其能下载到各种依赖包•Maven是一系列可重用的Ant脚本Maven的版本。
Maven现在主要有Maven 1.x和Maven 2.x,其中现在最新版本是Maven 2.02。
Maven 2完成了对Maven 1的重写。
重写的首要目的是要提供了强大的Jave构建和包含API的项目,允许Maven被植入任何地方,尤其是高级别的产品如IDEs、质量工具、报告工具等这些。
Maven 2构建生命周期的概念正式化,其比Maven更易扩展。
因此现在我们主要研究的就是Maven 2。
Maven的安装1.Windows 2000/xp下的安装1.解压缩maven-2.0.2-bin.zip到你希望安装Maven 2.0.2的所在目录。
这里假设你选择了C:\ProgramFiles\Apache Software Foundation\maven-2.0.2.2.将C:\Program Files\Apache Software Foundation\maven-2.0.2\bin目录加入到你的%path%环境变量中。
Maven学习笔记1.M aven安装1.1下载从apache的站点下载:htt p://maven.apache.org/download.cgi本文使用的3.1.1的maven1.2解压修改把下载的文件进行解压,之后修改如下文件apache-ma ven-3.1.1\conf\setti ng.xml因为默认的本地仓库是u ser.home下,所以修改为本地的路径并创建相应路径的仓库文件夹,即G:\M avenStudio\repositor y,并在其同级目录下copy 一份sett ing.xml的文件1.3添加环境变量在path变量末尾增加apache-m aven-3.1.1\bin;路径1.4测试安装效果Cm d-mvn –V,如下图2.Nexus安装2.1下载下载站点:http://www.sonat /ne xus/go从如下站点下载Nexus本文使用的是2.9.0的版本2.2修改修改如下路径文件nexus\nexu s-2.9.0-04-bundle\ne xus-2.9.0-04\bin\jsw\conf\ wra pper.conf修改如下把路径改为本地jdk的ja va路径2.3环境变量把环境变量添加到path中nex us\nexus-2.9.0-04-bu ndle\nexus-2.9.0-04\bin2.4启动注册服务启动服务2.5打开打开nexus连接http://loc alhost:8081/nexus3.Ne xus使用3.1登陆要管理Nexus,你首先需要以管理员身份登陆,点击界面右上角的login,输入默认的登录名和密码:admin/adm in123,登陆成功后,你会看到左边的导航栏增加了很多内容:这里,可以管理仓库,配置Nexus系统,管理任务,管理用户,角色,权限,查看系统的RSS源,管理及查看系统日志,等等。
Maven3实战笔记10使用Maven进行测试刘岩Email:1.测试简介这里所说的测试主要是指单元测试,一般说Java的单元测试都知道有个Junit。
确实目前很多公司,无论什么行业,基本都是使用junit进行单元测试,一般银行、电信、股票项目每个功能类都必须有相应的单元测试类,而且测试用例也是极其苛刻的。
而且每一行代码都需要有log追踪。
生成的测试报告也要成为相应的成果物交与甲方。
稍微差一点的,单元测试也就是一个形式,因为很多情况(由以国内政务项目为主)都是业务逻辑集成UI功能都做完了,之后再回去补单元测试,其实是为了应付甲方合同中的测试报告。
话说多了,偏离了主题。
Maven构建项目的时候可以执行我们的单元测试,底层是调用了Maven的插件maven-surefire-plugin执行单元测试用例。
2.新模块的需求与开发再展示Maven的测试功能之前,我们先来开发一个新的模块,随机验证码的功能模块。
随机验证码我们在网上都用过,在此不再详细说了,直接看代码即可。
此处用到了一个google开源的组件。
这个在笔者的另一篇blog/1076066中有介绍,在此不再赘述。
先来看生成随机数业务代码再来看看生成图片的类AccountImageServiceImpl,接口不再给出了这个类就是调用辅助类生成图片的。
下面我们编写单元测试。
3.新模块的测试行了3个用例,和预期效果不符的是0个,失败的用例是0个,忽略的用例数是0个。
大家可能要问,为何Maven能够自己寻找我们编写的测试类呢?其实还是那句约定大于配置。
Maven自动去寻找src/test/java下面的类,当此文件夹下面的类符合以下规范,那么Maven默认认为他们是单元测试用例类。
Test*.java:任何目录下以Test为开始的类*Test.java: 任何目录下以Test为结尾的类*TestCase.java: 任何目录下以TestCase为结尾的类。
Maven3实战笔之Maven的生命周期和插件1.Maven的生命周期Maven的生命周期其实是指它对所有的构建过程进行了反复的推敲、反思,之后总结了一套高度抽象过程。
这个过程是高度完善的、容易扩展的。
基本上包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署、、站点生成等步骤,几乎所有的项目生命周期也就这样。
Maven项目周期是一个抽象的概念,这个概念性的东西意味着它并不做任何实质性的事情,也就是说:它就像接口,只定义规范,具体细节它不管。
具体的实现细节则交给了Maven的各个丰富的插件。
Maven的插件机制有可能是跟Eclipse学的,基于一个内核core,定义一堆流程性的东西,让插件去实现这些规范。
其他组织也可以根据这套规范插入自己的东西,形成有特色化的、自定制的Maven。
Maven有三套相互独立的生命周期,分别是:clean、default、site。
clean主要是清理项目、default是Maven最核心的的构建项目、site是生成项目站点。
每一个大的生命周期又分为很多个阶段。
后面的阶段依赖于前面的阶段,这点有点像Ant的构建依赖。
生命周期本身相互独立,用户可以仅仅调用生命周期的某一个阶段,也就是说用户调用了default周期的任何阶段,并不会触发clean周期以及site周期的任何事情。
2.Maven生命周期阶段详解3大生命周期蕴含着小小的阶段,我们按顺序看一下clean周期:pre-clean:准备清理clean:真正的清理工作post-clean:执行清理后的一些后续工作default周期:validate:验证initialize:初始化配置generate-sources:生成源代码编译目录process-sources:处理项目主资源文件,复制资源文件到outputclasspathgenerate-resources:生成资源目录process-resources:处理资源文件complie:编译源代码process-classes:处理编译后文件generate-test-sources:生成测试目录process-test-sources:处理项目测试资源文件,复制测试资源文件到outputclasspath generate-test-resources:生成测试资源文件process-test-resources:处理测试资源文件test-compile:编译测试代码process-test-classes:处理测试代码test:单元测试运行测试代码prepare-package:打包前的准备package:将编译好的代码打包成为jar或者war或者ear等等pre-integration-test:准备整体测试integration-test:整体测试post-integration-test:为整体测试收尾verify:验证install:安装到本地Maven库deploy:将最终包部署到远程Maven仓库site周期:pre-site:准备生成站点site:生成站点及文档post-site:站点收尾site-deploy:将生成的站点发布到服务器上就是执行了整个default生命周期这个就是执行了clean周期的前两个阶段、default周期的所有阶段、site周期的所有阶段。