好文档 - 专业文书写作范文服务资料分享网站

Maven2+Eclipse开发J2EE - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

基于?Maven2+Eclipse+WTP+m2eclipse?

开发?Java?EE?应用程序?

谢超良?Jimmy.Shine@Gmail.com?

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)

1?

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

2?

· · · · · ·

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.

integration-test?-?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,generate-sources,process-sources,generate-resources,process-reso?urces,compile,process-classes,generate-test-sources,process-test-sources,?generate-test-resources,process-test-resources,test-compile,test,prepare-?package,package,pre-integration-test,integration-test,post-intgration-tes?t,verify,install,deploy?生命周期阶段?validate?generate-sources?process-sources?generate-resources?process-resources?compile?process-classes?generate-test-sources?process-test-sources?描述?验证项目是否正确,以及所有为了完整构建所需要的信息是否可用?生成所有需要包含在编译过程中的源代码?处理源代码,比如过滤一些值?生成所有需要包含在打包过程中资源文件?复制并处理资源文件至目标目录?编译项目的源代码?后处理编译生成的文件,?例如对Java类进行一些代码增强?(bytecode)?生成所有包含在测试编译过程的测试源码?处理测试源码,比如过滤一些值?generate-test-resources?生成测试需要的资源文件?process-test-resources?复制并处理测试资源文件至于测试目录?test-compile?test?prepare-package?package?pre-integration-test?integration-test?post-integration-test?Verify?Install?Deploy?编译测试源码至测试目标目录?使用合适的单元测试框架运行测试?在真正的打包之前,执行一些准备打包必要的操作?将编译好的代码打包成可分发的格式,如JAR,WAR,EAR.?执行一些在集成测试运行之前需要的动作,如建立执行测试需要的环境?处理包并发布至集成测试可以运行的环境?执行一些在集成环境运行之后需要的动作,如清理集成测试环境?执行所有的检查,验证包是有效的,符合质量规范?安装包至本地仓库,以备其它的项目做为依赖使用?复制最终的包至远程仓库,共享给其它开发人员和项目(通常和一次正?式的发布相关)?l?如何执行Maven?1.?安装Maven?

(1)?

下载Maven,并解压

3?

(2)?在系统环境变量中设置M2_HOME?

(3)?将%M2_HOME%/bin?加入至系统环境变量path中。?

(4)?在DOS窗口中,输入mvn?–version,若显示版本号相关信息,则安装成功。?

2.?配置Maven?

Maven的配置是通过%M2_HOME%/conf/setting.xml来进行配置。?

setting.xml用来配置一些全局性的配置,包括代理服务器的地址,本地的存储库的地址等。?常用的配置包括:?(1)?

本地Maven存储库的地址(localRepository)?

用来定义本地的?Maven?的库的存储地址,即从?Maven?仓库中下载的文件的存储的位

4?

置。?

如:?d:/Maven/repository?(2)?

Maven服务器地址(server)?在发布构件至本地的情况下需要。?

如:???nexus-releases?admin?admin123???nexus-snapshots?admin?admin123???(3)?

镜像服务器(Mirror)?

定义镜像服务器来替代指定的仓库,即通过匹配相关的远程的仓库的id从镜像的服务?器上查找构件,而不从远程的服务上面查找。?

如:???nexus?*?Nexus?Mirror?for?all.?http://127.0.0.1/nexus/content/groups/public???(4)?

配置(Profile)?

Profile用来定义仓库的地址和插件仓库的地址,用来发布、获取构件。?如:?

??

nexus??

?

nexus?

本地开发库?

http://127.0.0.1/nexus/content/groups/public?

default?

true?true???

?

?nexus?http://127.0.0.1/nexus/content/groups/public?

true?true?????

(5)?

激活配置?

指定哪些配置被激活。

5?

Maven2+Eclipse开发J2EE - 图文

基于?Maven2+Eclipse+WTP+m2eclipse?开发?Java?EE?应用程序?谢超良?Jimmy.Shine@Gmail.com?Sep?20,2010?一、?Maven?l?什么是Maven??Maven是标准、存储格式以及一些软件用以管理和描述项目。它为构建、测试、部署项目
推荐度:
点击下载文档文档为doc格式
4az50124550vngk59eoa
领取福利

微信扫码领取福利

微信扫码分享