Maven3应用入门讲座
- 格式:pptx
- 大小:1.24 MB
- 文档页数:66
《Maven实战》是国内第一本公开出版的Maven专著。
它内容新颖,基于最新发布的Maven 3.0,不仅详尽讲解了Maven 3.0的所有新功能和新特性,而且还将这些新功能和新特性与Maven 2.x版本进行了对比,以便于正在使用Maven 2.x版本的用户能更好地理解。
本书它内容全面,以从专家的角度阐释Maven的价值开篇,全面介绍了Maven的安装、配置和基本使用方法,以便于初学者参考;详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有选择性的阅读;扩展性地讲解了如何Maven和Archetype插件,这部分内容对需要编写插件扩展Maven或需要编写Archetype维护自己的项目骨架以更便于团队开发的读者来说尤为有帮助。
它实战性强,不仅绝大部分知识点都有相应的案例,而且本书还在第4章设计了一个背景案例,后面的很多章节都是围绕这个案例展开的,可操作性极强。
本书适合所有Java程序员阅读,无论你是从未使用过Maven,亦或是已经使用Maven很长一段时间了,相信你都能从本书中获得有价值的参考。
本书也适合所有项目经理阅读,它能帮助你更规范、更高效地管理Java 项目。
《Maven实战》作者简介:许晓斌(Juven Xu),国内社区公认的Maven技术专家、Maven中文用户组创始人、Maven技术的先驱和积极推动者。
对Maven有深刻的认识,实战经验丰富,不仅撰写了大量关于Maven的技术文章,而且还翻译了开源书籍《Maven权威指南》,对Maven技术在国内的普及和发展做出了很大的贡献。
就职于Maven之父的公司,负责维护Maven中央仓库,是Maven仓库管理器Nexus(著名开源软件)的核心开发者之一,曾多次受邀到淘宝等大型企业开展Maven方面的培训。
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周期的所有阶段。
Maven从入门到流畅使用1、简介1.1、什么是MavenMaven 是一个项目管理工具,使用Maven高效管理你的Java项目。
Maven包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。
使用Maven的好处jar包管理(使用jar包坐标),解决jar包冲突;可以用来编译代码;可以用来进行测试;进行项目的打包、发布。
1.2、Maven的两个经典作用1.2.1、Maven的依赖管理通过在 pom.xml 文件中添加所需 jar 包的坐标,,在需要用到 jar 包的时候,只要查找pom.xml 文件,再通过 pom.xml 文件中的坐标,在仓库(本地仓库,远程仓库(私服),中央仓库)中找到对应的jar包使用。
maven 中也有索引的概念,通过建立索引,可以大大提高加载 jar 包的速度,使得我们认为 jar 包基本跟放在本地的工程文件中再读取出来的速度是一样的。
1.2.2、项目的一键构建构建是指:项目从编译、测试、运行、打包、安装,部署整个过程都交给 maven 进行管理。
一键构建指:整个构建过程,使用 maven 的一个命令就可以轻松完成整个工作。
Maven规范化构建流程如下:maven将项目构建的过程进行标准化,每个阶段使用一个命令完成。
2、Maven使用2.1、Maven安装下载地址:官网下载地址安装:Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下。
maven 的目录结构如下:环境配置maven软件版本测试通过 mvn -v 命令检查 maven 是否安装成功,看到 maven 的版本及 java 版本即为安装成功。
Maven入门与学习Maven可以帮我们解决什么场景问题都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行?为什么在我的机器上可以正常打包,而配置管理员却打不出来?项目组加入了新的人员,我要给他说明编译环境如何设置,但是让我挠头的是,有些细节我也记不清楚了我的项目依赖一些jar包,我应该把他们放哪里?放源码库里?这是我开发的第二个项目,还是需要上面的那些jar包,再把它们复制到我当前项目的svn 库里吧现在是第三次,再复制一次吧—–这样真的好吗?我写了一个数据库相关的通用类,并且推荐给了其他项目组,现在已经有五个项目组在使用它了,今天我发现了一个bug,并修正了它,我会把jar包通过邮件发给其他项目组,这不是一个好的分发机制,太多的环节可能导致出现bug项目进入测试阶段,每天都要向测试服务器部署一版。
每次都手动部署,太麻烦了Maven的概念maven翻译为“专家”,“内行”。
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven是跨平台的项目管理工具。
主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。
Maven的功能:项目构建依赖管理什么是构建为什么使用MavenEclipse手工操作较多,编译、测试、部署等工作都是独立的,很难一步完成每个人的IDE配置都不同,很容易出现本地代码换个地方编译就出错Ant没有一个约定的目录结构必须明确让ant做什么,什么时候做,然后编译,打包没有生命周期,必须定义目标及其实现的任务序列没有集成依赖管理Maven拥有约定,知道你的代码在哪里,放到哪里去拥有一个生命周期,例如执行mvn install 就可以自动执行编译,测试,打包等构建过程只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮你处理其他事情Maven的模型Maven的安装及配置下载Maven官方网站:本课程使用的maven的版本为3.0.5Maven的安装安装jdk,要求1.6或以上版本解压maven的压缩包。
Maven是一个采用纯Java编写的开源项目管理工具。
Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编译,构建,测试,发布,报告等等。
目前Apache下绝大多数项目都已经采用Maven进行管理。
而Maven本身还支持多种插件,可以方便更灵活的控制项目。
1:/download.html 下载最新版本 Maven 3.0.2 (Binary zip)2:解压到 D:3:配置环境变量MAVEN_HOME : D:\apache-maven-3.0.2MAVEN : %MAVEN_HOME%\bin(可选) MAVEN_OPTS : -Xms256m -Xmx512m在path 前面加上 %MAVEN%;4:验证安装是否成功在命令行上输入: mvn -version; 回车,如看到下面信息表示安装成功:5:创建项目在命令行上输入:mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app 回车,如果你是首次运行该命令(goal),maven将要花一些时间去把最新的工具包(Maven 把它叫作artifacts)下载到你的本地仓库。
命令执行完后你将看到maven生成了一个名为my-app的目录,这个名字就是你在命令中指定的artifactId,进入该目录,你将发现以下标准的项目结构:其中:src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码,pom.xml是项目的项目对象模型(Project Object Model or POM)。
pom.xml 文件是maven对一个项目的核心配置,这个文件将包含你希望如何构建项目的大多数配置信息。
Maven3实战笔记01环境配置与使用入门刘岩Email:1.前言Maven是apache的一个顶级项目,它的出现越来越影响着现在的众多的开源项目,不仅如此,很多公司的很多新项目都采用Maven提倡的方式进行管理。
Maven正逐渐侵入我们原先的管理项目的习惯,对于团队的管理,项目的构建,都是一种质的飞跃。
当然是我个人的一些项目经验而说的这话。
如果原先的团队老大本身的管理非常科学,也有一套其他软件辅助项目的构建、打包、发布等等一系列机制保证。
那么Maven可能对其并没有实质性的影响或者是质的飞跃。
当然在此也并不是说咱们中国人做出来的项目就管理不善……只是说利用Maven帮助我们构建项目更科学、更有可维护性、更加模块化、模块功能更加职能单一、做出来的项目更加具有可复用性等等好处。
当然笔者也是个刚学习Maven的人,我们一起来学习Maven到底为我们带来了什么好处。
笔者邮箱已经给出,欢迎与笔者进行学术上的交流。
2.Maven的思想本来想看完了实战整本,再写总结的,后来觉得还是先写出来吧。
哪怕有什么不对的地方再纠正都不晚,就怕到时候看完了一点心得都没有,全忘了就太……所以先将学习的点点滴滴感受写下来,之后结合实例咱们可以反复的推敲。
目前笔者看到的Maven的主要功能是:项目构建;项目构建;项目依赖管理;软件项目持续集成;版本管理;项目的站点描述信息管理;由此可以看出Maven最主要的体现在了哪2个词?——对了,“项目”和“管理”!加在一起就是项目管理。
项目管理是一个很抽象的概念。
项目管理既可以指技术上的管理手段,也可以指“以人为本”的非技术因素。
诚然,无论是技术还是非技术,项目的成败最大的责任人其实就是项目经理。
这里我们抛开人为因素不提,仅就技术上来说,Maven 提供了一种思想让团队更科学的管理、构建项目。
用配置文件的方式对项目的描述、名称、版本号、项目依赖等等信息进行描述。
使之项目描述结构清晰,任何人接手的成本比较低。
学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)一、前言早就知道maven 在java 项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档。
发现这些文档的作者都是java 的大腕,大多都是站在掌握了一定maven 基础的角度上进行介绍,让我这初学者看的云里雾里不知所云。
于是又去查看maven 的官方网站,总算是有所了解,但一旦动手实际操作却又雾里看花。
唉,没办法,就只有一遍一遍的动手尝试,经过种种磨难总算是有一点眉目了。
现在就将我的经验写出来,一来避免将来遗忘,二来也给和我一样的菜鸟们提供一点点的方便。
呵呵。
本文的主题在于实用操作,个中原理还是麻烦大家去查一下java大腕们的文章吧。
这里推荐两篇文章:Maven 2.0:编译、测试、部署、运行[url]/html/doc/2006/06/14/00847.html[/url]Maven2 的新特性[url]/developerworks/cn/opensource/os-maven2/index.html[/url]二、maven2安装1、首先去官方网站下载之:[url]/download.html[/url],我选择的是截至目前最新版本maven2.0.4版本2、设置环境变量:Maven2下载完后,我将其解压到我的计算机的d:\maven204下,目录结构如下:D:\|--Maven204|-- bin|-- conf|-- core|-- lib|-- local环境变量:(操作系统windows2003)我的电脑----属性----高级----环境变量,点击“系统变量”下的新建,输入:变量名MA VEN_HOME; 变量值d:\Maven204,在系统变量列表中找到系统变量path,打开之,在变量值中追加”;%MA VEN_HOME%\bin”,至此环境变量设置完毕。
检查一下是否已经完成安装,打开dos窗口,输入mvn –v,如果出现以下信息则表示maven2已经安装成功:X:〉mvn –vMaven Version 2.0.4我已经说得够详细了,还不行?那我只能说你比我还菜。