读书人

组合Maven2进行J2EE项目构建 转

发布时间: 2012-12-28 10:29:04 作者: rapoo

结合Maven2进行J2EE项目构建 转

一.背景
Maven2 的基本原理很简单,采用远程仓库和本地仓库以及? pom(project object model).xml? ,将? pom.xml? 中定义的? jar? 文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的? jar? ,同一个版本的? jar? 只需下载一次,而且避免每个应用都去拷贝? jar? 。如图? 1? 。同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以在执行? maven? 任务时,才会自动下载需要的插件。这个特性也为客户系统的升级带来的很大的方便,客户每次升级的时候可以使用maven的远程部署功能自动下载最新的系统组件(jar),并重新打包部署,很大程度的减少的系统升级的工作量。
理解Maven的原理,可以参考 Pear ——PHP扩展与应用库( the PHP Extension and Application Repository ),其原理非常类似,都有一个官方库,都是微内核,通过网络将需要的文件下载到本地,通过官方仓库将相应的类库进行统一管理。
???? Maven2的基本安装方法网上很多,就到http://maven.apache.org下载一个最新版,解压后即可,如果需要在命令行运行,还需要设置一些环境变量,网上的资料很多,这里就不多说了。总之,安装成功后当你在命令行下执行maven -version后正确显示当前maven的版本即可。
???? 我们在项目中结合maven的进行开发的主要思路:
?? 1.建立支持Maven2的开发框架,框架中结合了一些项目功能和工具类,并且此框架本身是一个eclipse工程,支持使用eclipse IDE的开发,并通过CVS可进行团队协作。
?? 2.在Maven2的pom.xml中制定开发框架的依赖包,并建立依赖包的团队管理本地服务器,使团队中的包依赖得到统一管理。
?? 3.每日下班后,在构建服务器上每日从cvs上下载各个团队开发人员的代码,统一进行集成构建和测试。由于是每日构建,所以发现的bug可及时反馈给开发人员进行修正,避免了一般开发过程中的bug长时间遗留的情况。

二.实施过程

为了实现上述思路,我们分几步实施:

1.首先需要构建一个系统的开发框架
??? 我们有两种方式构建,
??? 其一是从零开始构建全新的框架,进入commond line,cd 到一个目录 ,执行

                                  <mirror> <id>emay local</id> <mirrorOf>central</mirrorOf> <name>emay local artifactory</name> <url>http://内部库ip:8081/artifactory/repo</url> </mirror>


                                  这里要注意的是,在加入这段代码后我使用的appfuse框架中自带的应用服务器tomcat6进行构建,不能正常运行,报tomcat出错,把这段去掉或者在pom.xml中将应用服务器改为tomcat5.5后运行正常。看来maven还是有不少bug需要改进。

                                  配置完成后再运行mvn install即可正常进行构建,maven会从本地内部库中寻找项目所依赖的jar包。运行mvn clean清除maven生成文件。



                                  附2:maven2命令大全

                                  ??? validate,验证工程是否正确,所有需要的资源是否可用。
                                  ??? compile,编译项目的源代码。
                                  ??? test-compile,编译项目测试代码。
                                  ??? test,使用已编译的测试代码,测试已编译的源代码。
                                  ??? package,已发布的格式,如jar,将已编译的源代码打包。
                                  ??? integration-test,在集成测试可以运行的环境中处理和发布包。
                                  ??? verify,运行任何检查,验证包是否有效且达到质量标准。
                                  ??? install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
                                  ??? deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
                                  ??? generate-sources,产生应用需要的任何额外的源代码,如xdoclet。




                                  310854_1218911170.rar (1.8 MB)描述: Better Builds With Maven2源码及教程下载次数: 3004310854_1218911167.rar (1.1 MB)描述: 项目实例框架下载次数: 2281

读书人网 >J2EE开发

热点推荐