学习笔记之maven2学习总结(3,maven2在淘宝项目的应用) [ 光影人像 东海陈光剑 的博客 ]
2015-01-27 12:57
405 查看
接下来,在前面两篇文章理解的基础上,我们来看下maven2是如何应用在淘宝项目中。 先看下项目工作环境中的setting.xml文件的配置:
这是一个最基本的设置,设置了登陆此资源库服务器的用户名、密码和资源库的位置。通过这两个设置,我们便可以从指定的资源库中获得相应的Jar包。下面在看一下在大淘宝TC项目中pom.xml文件的配置:
在这个配置文件里分别设置了对父项目的继承(parent)、此项目的相关信息(groupId、artifactId等)、子模块(module)、编译设置(build)、测试资源(testResources)、插件(plugin)和项目依赖管理(dependencyManagement)。
从此配置文件可以看出:项目“tc-all”分别由五个子模块组成:“tc-client、tc-domain、tc-server、tc-refund-client、tc-refund-domain”。在testResource里定义了测试需要的资源文件的目录。在编译(build)里的插件(plugins)中分别设置了运行测试用例的插件maven-surefire-plugin及此插件运行的内容“ **/*BNCTest.java”(包含BNCTest后缀的java文件,即测试代码);测试覆盖率报告的插件maven-clover2-plugin,具体内容可参见官网:(http://docs.atlassian.com/maven-clover2-plugin/2.3.1/usage.html)。个人觉得这个pom.xml文件里最核心的是dependencyManagement,他里面的各个依赖项dependency将会在执行“ mvn -U clean eclipse:clean eclipse:eclipse ”命令时根据setting.xml里配置的server和mirror从指定的资源库里取出相应版本的jar包放到制定的本地资源库里<localRepository>D:\repo</localRepository>,到这里,一个TC项目的环境算是构建好了,使用eclipse加载此工程可以看到:
此时我想到了《maven权威指南》一书里说的“约定优于配置”, Maven 通过给项目提供明智的默认行为来融合这个概念。 在没有自定义的情况下,源代码假定是在 ${basedir}/src/main/java,资源文件假定是在${basedir}/src/main/resources 。测试代码假定是在 ${basedir}/src/test 。项目假定会产生一个 JAR 文件。Maven 假定你想要把编译好的字节码放到${basedir}/target/classes 并且在 ${basedir}/target 创建一个可分发的 JAR文件。 项目开发中,开发人员在${basedir}/src/main/java目录中写好自己的代码,而接口测试人员可以根据此目录的设定好的接口在${basedir}/src/test/java目录里进行单元测试和集成测试用例的设计和编码,可以说是开发与测试同时进行,这样自然会减少在功能测试中的bug数。 当所有的开发和测试完成的时候,这时候maven的作用就凸显出来了。通过一些简单的命令,诸如: mvn package:依据项目将在target文件下生成jar文件; mvn install: 将项目的jar文件添加到本地资源库中, 以备依赖此项目时使用; 如果你有权限,你还可以将打好的jar包上传到远程的资源库中,供其他项目使用,如(mvn deploy:deploy-file -Dfile=yourJar.jar -Durl=dav:http://your url /repository -DpomFile=pom.xml )。--------------------------------------------------------------------------- 关于maven在淘宝项目的使用就简单的介绍到这里,如果想深入了解maven,《maven权威指南》一书里讲的很细致。文章中如有不妥之处请予以指出,同时也欢迎大家来共同交流、共同学习。谢谢! 在下篇文章里将会谈到持续集成及CruiseControl工具的使用,期待你的继续关注!
maven 实际淘宝项目 应用
我们从来只做一件事,分享.
让美在这个世界流转
让倍感无趣的 受伤的 彷徨的 孤独的 或是心情忧郁的 人生黯淡的人们
能有一次机会
去再一次发现这个世界的美
并把美传递给他人
---光影人像(Follow WeChat public number with interest)
这是一个最基本的设置,设置了登陆此资源库服务器的用户名、密码和资源库的位置。通过这两个设置,我们便可以从指定的资源库中获得相应的Jar包。下面在看一下在大淘宝TC项目中pom.xml文件的配置:
在这个配置文件里分别设置了对父项目的继承(parent)、此项目的相关信息(groupId、artifactId等)、子模块(module)、编译设置(build)、测试资源(testResources)、插件(plugin)和项目依赖管理(dependencyManagement)。
从此配置文件可以看出:项目“tc-all”分别由五个子模块组成:“tc-client、tc-domain、tc-server、tc-refund-client、tc-refund-domain”。在testResource里定义了测试需要的资源文件的目录。在编译(build)里的插件(plugins)中分别设置了运行测试用例的插件maven-surefire-plugin及此插件运行的内容“ **/*BNCTest.java”(包含BNCTest后缀的java文件,即测试代码);测试覆盖率报告的插件maven-clover2-plugin,具体内容可参见官网:(http://docs.atlassian.com/maven-clover2-plugin/2.3.1/usage.html)。个人觉得这个pom.xml文件里最核心的是dependencyManagement,他里面的各个依赖项dependency将会在执行“ mvn -U clean eclipse:clean eclipse:eclipse ”命令时根据setting.xml里配置的server和mirror从指定的资源库里取出相应版本的jar包放到制定的本地资源库里<localRepository>D:\repo</localRepository>,到这里,一个TC项目的环境算是构建好了,使用eclipse加载此工程可以看到:
此时我想到了《maven权威指南》一书里说的“约定优于配置”, Maven 通过给项目提供明智的默认行为来融合这个概念。 在没有自定义的情况下,源代码假定是在 ${basedir}/src/main/java,资源文件假定是在${basedir}/src/main/resources 。测试代码假定是在 ${basedir}/src/test 。项目假定会产生一个 JAR 文件。Maven 假定你想要把编译好的字节码放到${basedir}/target/classes 并且在 ${basedir}/target 创建一个可分发的 JAR文件。 项目开发中,开发人员在${basedir}/src/main/java目录中写好自己的代码,而接口测试人员可以根据此目录的设定好的接口在${basedir}/src/test/java目录里进行单元测试和集成测试用例的设计和编码,可以说是开发与测试同时进行,这样自然会减少在功能测试中的bug数。 当所有的开发和测试完成的时候,这时候maven的作用就凸显出来了。通过一些简单的命令,诸如: mvn package:依据项目将在target文件下生成jar文件; mvn install: 将项目的jar文件添加到本地资源库中, 以备依赖此项目时使用; 如果你有权限,你还可以将打好的jar包上传到远程的资源库中,供其他项目使用,如(mvn deploy:deploy-file -Dfile=yourJar.jar -Durl=dav:http://your url /repository -DpomFile=pom.xml )。--------------------------------------------------------------------------- 关于maven在淘宝项目的使用就简单的介绍到这里,如果想深入了解maven,《maven权威指南》一书里讲的很细致。文章中如有不妥之处请予以指出,同时也欢迎大家来共同交流、共同学习。谢谢! 在下篇文章里将会谈到持续集成及CruiseControl工具的使用,期待你的继续关注!
maven 实际淘宝项目 应用
我们从来只做一件事,分享.
让美在这个世界流转
让倍感无趣的 受伤的 彷徨的 孤独的 或是心情忧郁的 人生黯淡的人们
能有一次机会
去再一次发现这个世界的美
并把美传递给他人
---光影人像(Follow WeChat public number with interest)
相关文章推荐
- 学习笔记之maven2学习总结(1,入门起步与实践) [ 光影人像 东海陈光剑 的博客 ]
- 学习笔记之maven2学习总结(2,进阶setting.xml与pom.xml) [ 光影人像 东海陈光剑 的博客 ]
- 学习笔记之maven2学习总结(3,maven2在淘宝项目的应用)
- 学习笔记之JUnit学习总结 [ 光影人像 东海陈光剑 的博客 ]
- 学习笔记之Java Annotation学习总结 [ 光影人像 东海陈光剑 的博客 ]
- SQA在项目管理实践中的感触 [ 光影人像 东海陈光剑 的博客 ]
- 新人起步---学习计划和目标 [ 光影人像 东海陈光剑 的博客 ]
- QTP工作原理的学习心得 [ 光影人像 东海陈光剑 的博客 ]
- 入职以来的项目体验 [ 光影人像 东海陈光剑 的博客 ]
- qtp描述性语言的应用 [ 光影人像 东海陈光剑 的博客 ]
- 接口测试在淘宝的应用 [ 光影人像 东海陈光剑 的博客 ]
- 项目发布后的问题跟踪 [ 光影人像 东海陈光剑 的博客 ]
- 淘宝测试团队对我的影响 [ 光影人像 东海陈光剑 的博客 ]
- 淘宝测试之SAO [ 光影人像 东海陈光剑 的博客 ]
- maven2学习总结(3,maven2在淘宝项目的应用)
- 淘宝SQA工作随写 [ 光影人像 东海陈光剑 的博客 ]
- HTTP协议在测试中的应用(一) [ 光影人像 东海陈光剑 的博客 ]
- 使用QTP从excell表中拷贝数据到数据库表中 [ 光影人像 东海陈光剑 的博客 ]
- 手工编写QTP测试脚本 [ 光影人像 东海陈光剑 的博客 ]
- 利用web_custom_request函数来替代传统http/html的性能脚本 [ 光影人像 东海陈光剑 的博客 ]