您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Build System培训
红杉树(中国)信息技术有限公司公司地址:杭州市天目山路176号西湖数源软件园11号楼3楼电话:(86)-0571-89939888BuildSystem基础培训Wincky.long2009/09/03Angeda•MAVEN•CONTINUUM•SVNMAVEN介绍•什么是maven?Maven包括一系列构建标准:一个产品库模型,一个管理和描述项目的软件引擎。定义了构建、测试、部署项目产品的标准生命周期。提供了一个简单实用符合Maven标准的通用构建逻辑。是一个在Apache软件基金会下的开源项目,是一个声明式项目管理工具(通过项目对象模型ProjectObjectModel),用来简化软件项目管理过程的框架。MAVEN介绍•MAVEN的好处1)一致(Coherence)Maven以一系列最佳实践为基础使组织标准化,因为Maven是根据标准化模型构造的。2)重用(Reusablity)Maven构建于可重用的基础之上。当你使用Maven时你可以高效的重用整个行业完整的最佳实践。3)敏捷(Agility)MAVEN介绍Maven降低了重用构建逻辑和软件组件的门槛。使创建一个组件然后再整合它到多个项目中变得容易。4)可维护(Maintainability)使用Maven的组织不必为了构建而构建,可以集中精力于构造应用程序。Maven项目的可维护性是很高的,因为它遵从了通用的公共定义模型。MAVEN的原则•MAVEN的原则1)标准的项目目录结构2)标准命名规范3)仓库中心4)依赖管理标准目录结构标准命名规范•MAVEN的原则1)标准的目录组织结构2)标准命名规范3)仓库中心4)依赖管理标准命名规范•如artifactId-version.extension(产品名-版本号.扩展名)如:platform-remote-api-2.0.0.jarVSplatform-remote-api.jarplatform-remote-api-2.0.0-20070523.052056-67.jarMAVEN的原则•MAVEN的原则1)标准的目录组织结构2)标准命名规范3)仓库中心4)依赖管理MAVEN仓库中心•Globalrepository–•Localrepository–USER_HOME/.m2/repositoryMAVEN的原则•MAVEN的原则1)标准的目录组织结构2)标准命名规范3)仓库中心4)依赖管理依赖管理•传递依赖声明式执行•声明式执行1)项目对象模型ProjectObjectModel(POM)2)SuperPom3)Maven’sbuildlifecycle生命周期4)Mavenisaplug-inexecutionframeworkcoordinatedbythebuildlifecycle项目对象模型•Maven是以项目为中心设计的,POM是单个项目的描述。没有POM,Maven毫无用处。POM驱动了Maven的执行,这种方式称为模型驱动或者声明式执行。POM是一个xml文件如项目对象模型•projectmodelVersion4.0.0/modelVersiongroupIdcom.mycompany.app/groupIdartifactIdmy-app/artifactIdpackagingjar/packagingversion1.0-SNAPSHOT/versiondependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion3.8.1/versionscopetest/scope/dependency/dependencies•/project项目对象模型•project:pom.xml的顶层元素modelVersion:pom文件的版本号,一旦有模块更改就会更新groupId:说明创建这一项目组织的唯一标识。通常为基于组织的全限定名,例如org.apache.maven.pluginsartifactId:本项目生成产品的标识packaging:打包类型如(JAR,WAR,EAR...),默认为jarversion:产品的版本号name:产品显示名url:项目网站description:项目描述父POM•声明式执行1)项目对象模型ProjectObjectModel(POM)2)SuperPom3)Maven’sbuildlifecycle生命周期4)Mavenisaplug-inexecutionframeworkcoordinatedbythebuildlifecycle父POM•SuperPOM是Maven鼓励的一个规则,就像java中的所有类的父类是Object一样,Maven中的所有POM都有一个SuperPOM。声明式执行•声明式执行1)项目对象模型ProjectObjectModel(POM)2)SuperPom3)Maven’sbuildlifecycle生命周期4)Mavenisaplug-inexecutionframeworkcoordinatedbythebuildlifecycle生命周期•软件项目的构建路径为:预处理(preparation),编译(compilation),测试(testing),打包(packaging),安装(installation),等。Maven为这种项目提供的这些路径称为构建生命周期。在Maven中构建生命周期由一些列阶段组成,每个阶段可以运行1个或多个与该阶段相关的行为或目标。例如,编译阶段调用一些目标去编译一些类。生命周期•在Maven中你所要做的就是告诉Maven你所需要的在标准构建声明周期中的阶段。需要注意的是,每个阶段都会被执行直到你指定的阶段。如,如果你告诉Maven到compile阶段,Maven将自动执行:validate,initialize,generatesources,process-sources,generate-resources,compile这些先于complile的阶段生命周期•这些标准构建声明周期由许多阶段组成,这些阶段可以被认为是扩展点。当你想在构建生命周期中加入功能时你可以将可重用的构建逻辑插件直接插入到构建生命周期中,任何时候当你需要优化项目构建时你可以使用一个已存在的插件或者创建一个自定义的插件。MAVENPLUGIN•声明式执行1)项目对象模型ProjectObjectModel(POM)2)SuperPom3)Maven’sbuildlifecycle生命周期4)Mavenisaplug-inexecutionframeworkcoordinatedbythebuildlifecycleContinuum介绍•MAVEN•CONTINUUM•SVNContinuum介绍•Build•Download开发环境的理解和设定–BuildsystemURL::qaPassword:qaContinuum界面介绍Continuum界面介绍Continuum界面介绍FTPThrowable、ErrorException、RuntimeExceptionthrows、throwtry、catch、finallyDownloadTestCaseAutomated、Repeatable、IndependentTestNGJMock•MAVEN•CONTINUUM•SVNTortoiseSVN•TortoiseSVNDownloadURL:–’sChangelogOthersupdateUpdateCodymodify2Dennymodify2CodycommitCodymodify2commitfinishDennymodify2commitOutofdaterenamecomflitfileUpdatefromrepositoryUpdatetonewversionManualmergerMegerstep1Megerstep2Megerstep3F5SavemergerCommitmergerQ&A?Thanks
本文标题:Build System培训
链接地址:https://www.777doc.com/doc-6140013 .html