Maven2+Eclipse开发J2EE
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 Maven2+Eclipse+WTP+m2eclipse
开发 Java EE 应用程序
谢超良 Jimmy.Shine@
Sep 20,2010 一、 Maven
l 什么是Maven?
Maven是标准、存储格式以及一些软件用以管理和描述项目。它为构建、测试、部署项目定义了一个标准 的生命周期。它提供了一个框架,允许遵循 Maven 标准的所有项目,方便的重用的构建逻辑。Maven 项 目存在的 Apache 软件基金会,是一个开源社区,它开发的软件工具,基于一个通用的软件对象模型 (Project Object Model),也就是POM。
l 约定大于配置
Maven遵循约定大于配置的原则。
通过给项目提供默认的行为来减少不必要的配置。
l POM
在一个Maven项目中,通过声明POM来指定项目的相关信息。
Maven对于项目的唯一标识条件:
Group ID, artifact ID, version(简称GAV)
l Maven项目的结构
一个Maven的项目包括如下结构:
其中:
src存放源代码,target存入的是编译后的,pom.xml是Maven用来描述项目的文件。
main中存放用来发布至生产环境的代码及配置,test中存放测试时候使用的代码及配置。
java中存放java代码,resource中存放配置文件。
一个web项目结构如下:
一个web项目中增加了一个webapp,用来存放web页面代码。
l Maven的生命周期
Maven默认的生命周期阶段包括:
· validate validate the project is correct and all necessary information is available
· compile compile the source code of the project
· test test the compiled source code using a suitable unit testing framework.
These tests should not require the code be packaged or deployed · package take the compiled code and package it in its distributable format, such as a JAR.
· integrationtest process and deploy the package if necessary into an environment where integration tests can be run
· verify run any checks to verify the package is valid and meets quality criteria
· install install the package into the local repository, for use as a dependency in other projects locally
· deploy done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.
Maven2.2的一个完整的阶段包括:
validate,generatesources,processsources,generateresources,processreso urces,compile,processclasses,generatetestsources,processtestsources, generatetestresources,processtestresources,testcompile,test,prepare package,package,preintegrationtest,integrationtest,postintgrationtes t,verify,install,deploy
生命周期阶段 描述
validate 验证项目是否正确,以及所有为了完整构建所需要的信息是否可用 generatesources 生成所有需要包含在编译过程中的源代码
processsources 处理源代码,比如过滤一些值
generateresources 生成所有需要包含在打包过程中资源文件
processresources 复制并处理资源文件至目标目录
compile 编译项目的源代码
processclasses 后处理编译生成的文件, 例如对Java类进行一些代码增强 (bytecode) generatetestsources 生成所有包含在测试编译过程的测试源码
processtestsources 处理测试源码,比如过滤一些值
generatetestresources 生成测试需要的资源文件
processtestresources 复制并处理测试资源文件至于测试目录
testcompile 编译测试源码至测试目标目录
test 使用合适的单元测试框架运行测试
preparepackage 在真正的打包之前,执行一些准备打包必要的操作
package 将编译好的代码打包成可分发的格式,如JAR,WAR,EAR.
preintegrationtest 执行一些在集成测试运行之前需要的动作,如建立执行测试需要的环境 integrationtest 处理包并发布至集成测试可以运行的环境
postintegrationtest 执行一些在集成环境运行之后需要的动作,如清理集成测试环境
Verify 执行所有的检查,验证包是有效的,符合质量规范
Install 安装包至本地仓库,以备其它的项目做为依赖使用
Deploy 复制最终的包至远程仓库,共享给其它开发人员和项目(通常和一次正
式的发布相关)
l 如何执行Maven
1. 安装Maven
(1) 下载Maven,并解压