狠狠撸

狠狠撸Share a Scribd company logo
maven及其在商城的应用
商城研发 -- 李亚双(liys)
1、 maven现状
2、功 能 介 绍
3、商城的应用
Maven是一个项目管理工具包含:
? 一个项目对象模型
? 一组标准集合
? 一个项目生命周期
? 一个依赖管理系统
? 用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑
百度指数
google trends
功能介绍
? 项目依赖
? 项目关系
? 构建生命周期
项目依赖
? 依赖范围
? 可选依赖
? 依赖版本界限
? 传递性依赖
? 冲突解决
? 依赖管理
依赖范围
<scope>compile</scope>
可选依赖
? 非传递性依赖
? <optional>true</optional>
依赖版本界限
在依赖某个项目的时候,你可以不必指定特定的某个版本。也可以指定一个版本
范围
使用说明:
? (,) 不包含
? [,] 包含
例如:依赖一个Junit的大于等于3.8 但是小于4.0 的版本
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>[3.8,4.0)</version>
</dependency>
传递性依赖
A-->依赖与L1.0(项目A依赖于L jar包版本为1.0的版本)
B-->依赖与L2.0(项目B依赖于L jar包版本为2.0的版本)
C-->依赖与A、B两个项目
请问C中L的jar包传递的是那个版本呢?
C先依赖谁,就使用哪个版本
冲突解决
冲突检查脚本:mvn dependency:tree –Dverbose
Maven采用“最近获胜策略(nearest wins strategy)”的方式处理依赖冲
突,即如果一个项目最终依赖于相同artifact的多个版本,在依赖树中离项
目最近的那个版本将被使用。让我们来看看一个实际的例子。
同等深度按照先引用优先
处理依赖冲突
依赖管理
? dependencyManagement(声明)
? pluginManagement
项目关系
? 坐标详解
? 多模块项目
? 项目继承
项目生命周期
惭补惫别苍技术及诸葛商城应用(1)
构建profile
选取不同资源文件,构建不同环境部署包
? local
? dev
? qa
? pre
? release
仓库
商城的应用
? Pom
? 私服仓库
? jenkins
惭补惫别苍技术及诸葛商城应用(1)
闯别苍办颈苍蝉持续集成飞辞谤办贵濒辞飞

More Related Content

惭补惫别苍技术及诸葛商城应用(1)