版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Maven原理与实践,1,2,大纲,何为Maven 构建,依赖管理,项目信息聚合 Maven核心概念 坐标,依赖,仓库,生命周期,插件 Maven最佳实践 创建、打包、发布、版本管理 项目实战 Nexus(Todo) M2eclipse(Todo) Q&A,2,2020/7/7,何为Maven?,依赖管理工具,spring,slf4j,hadoop,org.springframework:spring-core:3.2.4,org.slf4j:slf4j-api:1.7.5,org.hibernate: hibernate-core:4.2.5, : : ,中央 仓储,3,2020/7/7,何
2、为Maven?,构建工具 高度自动化 跨平台 丰富的可重用组件 标准化,清理,编译,测试,报告,打包,部署,4,2020/7/7,何为Maven?,项目信息聚合 版本控制系统信息,缺陷跟踪系统信息,开发者信息,许可证信息 项目站点:javadoc,测试覆盖,代码静态分析报告,5,2020/7/7,Maven核心概念,坐标 依赖 仓库 生命周期 插件,6,2020/7/7,坐标,groupId: com.sailing.sdp artifactId:sdp-core version:1.0.0-(SNAPSHOT/RELEASE) packaging:jar(war ear pom) class
3、ifier:jdk15(jdk14) com/sailing/sdp/sdp-core/1.0.0/sdp-core-1.0.0.jar,7,2020/7/7,坐标, 4.0.0 com.sailing.sdp sdp-utils 1.1.1-SNAPSHOT jar sdp-utils ,8,2020/7/7,依赖, org.springframework spring-core 3.2.4.RELEASE com.alibaba fastjson 1.2.5 mons commons-lang3 3.1 ,中央仓储,9,2020/7/7,依赖范围,10,2020/7/7,传递性依赖,使用s
4、pringcore的时候,不用考springcore依赖了什么 万一出现问题的时候,不得不去了解springcore依赖了什么,My-app,Spring-core,Common-logging,aspectjweaver,11,2020/7/7,依赖相关技巧, . 1.1.2-SNAPSHOT org.springframework spring-webmvc $spring.version com.sailing.sdp sdp-utils $sdp.version . , . org.springframework spring-core 3.2.4.RELEASE commons-lo
5、gging commons-logging . ,依赖 归类,依赖 排除,12,2020/7/7,依赖管理, 4.0.0 com.sailing.sdp sdp-parent 1.0.0SNAPSHOT org.springside springside-core 3.2.4 , 4.0.0 com.sailing.sdp sdp-parent 1.0.0-SNAPSHOT sdp-core jar org.springframework spring-core ,父项目,子项目,sdp-orm,sdp-util,13,2020/7/7,仓库(Repository),默认的,本地所Maven项
6、目都复用一个本地仓库 本地仓库从远程仓库(可配置)下载必要的构件 中央仓库是唯一内置的远程仓库,本地仓库,/.m2/repository,远程仓库,远程仓库,中央仓库,/maven2,Project-A,Project-B,Project-,14,2020/7/7,仓库(Repository), local-repository public repositories true true local-plugin-repository local plugin repository true true , D:m2_repository ,添加远程仓储
7、,更改本地仓储位置,/.m2/settings.xml,/.m2/settings.xml,Pom.xml,15,2020/7/7,生命周期,三套生命周期(clean, default, site)相互独立 一套生命周期中,生命周期阶段前后依赖 mvn 命令指向生命周期阶段,mvn clean,mvn install,mvn site,16,2020/7/7,Maven插件,Maven本身是一个框架,实际的任务都由插件完成 插件与生命周期阶段绑定,用户通过指定生命周期阶段就能够隐式的通过插件执行任务 例如:打包的时候,能够执行生成源码包和javaDoc,17,2020/7/7,Mvn命令行,指
8、定生命周期 $ mvn clean 清空项目的工作目录 $ mvn test 执行测试 $ mvn package 执行打包(jar war) $ mvn install 将组件安装到本地仓储 $ mvn deploy 将组件部署到远程仓储 $ mvn site 生成项目站点信息 指定插件目标 $ mvn javadoc:javadoc 生成项目的javadoc $ mvn source:jar 将项目的源码生成jar,18,2020/7/7,mvn命令行,项目中常用命令,19,2020/7/7,Maven最佳实践,场景 通过maven骨架,创建一个名称为util的jar工程 该工程包含:co
9、mmon-lang3、slf4j、logback三个组件 编写一个isEmpty方法用于判断字符串是否为空 将util组件进行打包,打包时生成源码 发布util组件到远程仓储,20,2020/7/7,使用Maven创建项目,$mvn archetype:generate DarchetypeCatlog=internal,21,2020/7/7,Pom.xml,22,2020/7/7,添加组件,在远程仓储中查找组件 在pom.xml中添加组件,23,2020/7/7,Pom.xml,在Pom.xml中添加插件,24,2020/7/7,Maven打包,打包:将util工程打包成组件(war ja
10、r ) $ mvn package -Dmaven.test.skip=true $ mvn install -Dmaven.test.skip=true,25,2020/7/7,Maven发布,发布:将util组件发布到远程仓储 $ mvn deploy 在远程仓储中查看util组件 , nexus-releases release nexus-snapshots snapshot ,pom.xml,26,2020/7/7,版本管理规范,1.3.4beta2 . 1.0.0SNAPSHOT & 1.4.120091030124744108 处于开发中的不稳定版本 方便及时的获得团队其它模块的
11、状态 Maven自动更新(by day),强制更新: U 原则:不要依赖任何外部构建的SNAPSHOT版本,主要版本发布,相对次要版本发布,重要bug修复,里程碑版本:alpha,27,2020/7/7,项目实战,大数据项目 项目中使用lib包 仓储中没有项目中使用的第三方组件; 没有掌握将第三方组件上传到仓储中的方法; Assembly插件的使用方法不正确; 编译不通过 私服仓库中没有自主开发的组件;,28,2020/7/7,项目实战,如何为项目添加组件,29,2020/7/7,项目实战,如何为项目添加第三方组件(ojdbc),30,2020/7/7,项目实战,如何在内外网隔离的环境下使用maven 方式一:将本地仓储拷贝至内网环境的开发人员机器中; 方式二:在内网环境中搭建nexus私服仓储服务,并确保私服仓储服务中有比较完整的组件,31,2020/7/7,项目实战,如何将内部组件部署到远程仓储 pom.xml中添加部署的目标地址 执行mvn deploy命令进行部署, nexus-releases
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教统编版语文八年级上册第13课 《与朱元思书》同步练习(含答案)1
- 2026冰雪运动护具材料耐寒性能突破与极端环境测试报告
- 2026中国疫苗行业市场现状供需分析投资评估规划分析研究报告
- 2026请查阅行业市场投资评估深度调研现状分析深层矛盾供需矛盾均衡发展前景长远规划研究报告
- 2026中国智能家具行业市场竞争供需分析及投资评估规划分析研究报告
- 2026中国智能家居设备市场深度分析物联网应用趋势投资空间研判报告
- 2026中国冷链物流行业标准化建设与区域布局优化战略报告
- 2026日本电子游戏代工厂生产效率优化监测评估及政策调整规划研究分析报表
- 2026中国特色餐饮业市场发展供需剖析及投资潜力规划分析研究报告
- 2026生态保护行业市场发展思路与投资策略研究规划
- 2026年秋季襄阳东津新区中小学教师公开招聘100人考试参考题库及答案详解
- 2026 年大学新生入学第一课宿舍财物防盗安全防范意识教育
- 2026年陕西高职单招试题完整
- 2026年中级经济法担保法律制度专项题库(含答案及解析)
- 2.2站稳人民立场( 教学设计) 统编版道德与法治 九年级上传(新)
- 客户健康风险评估预案
- 2026广东中山小榄镇同乐社区居民委员会招聘1人笔试参考题库及答案解析
- 医共体护理管理改进
- GB/T 47250-2026船舶与海洋技术燃油和润滑油加注用法兰接头基本尺寸和技术要求
- (正式版)DB43∕T 2202-2021 《基于大气电场的雷电预报技术要求》
- 中小学实验室管理规范及流程
评论
0/150
提交评论