DevOps沙龙 | Maven项目构建资料分享
Posted 用友敏捷联盟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevOps沙龙 | Maven项目构建资料分享相关的知识,希望对你有一定的参考价值。
秋风瑟瑟,烟雨蒙蒙,真是却道天凉好个秋呀!每到这个时候就只会想念三样东西:暖气、被窝和秋裤!只可惜这三样都木有,好在还有DevOps沙龙每周三都陪伴着我!
本期的DevOps沙龙,我们邀请到了集团开发管理部的薛文同学给大家讲Maven项目构建,Maven是Apache基金会的开源项目,是当前主流的三个Java项目构建工具之一,另外两个是Ant和Gradle。Maven集项目构建、依赖管理、项目管理于一身,深受Java开发者的青睐!
1、开场
薛文同学就着实让我们虐心了一把,这一桩桩,一件件都是我们正在经历的痛苦,让我忘却了编码的快乐!
1、都是同样的代码,他的机器上编译就不行?
2、在集成发布的机器上无法正常打包?
3、项目组来了新成员,构建环境如何配置?
4、JAR包要不要放到代码库中?
5、每个代码仓库中都有同样的JAR包,重复是一种罪过,阿弥陀佛!
6、是否因为第三方库的兼容性问题抓耳挠腮?
7、JAR包如何分发给其他团队成员,U盘、代码库、邮件?
正式这些问题激发了程序员的创造力,Maven就是为了解决这些问题而生的
2、什么是Maven
答案1:构建工具
答案2:依赖管理工具
答案3:项目信息管理工具
3、POM项目对象模型
POM是Maven的核心,是其惯例由于配置理念的体现,POM中包含了构建的坐标信息,依赖信息等等
坐标
坐标元素:groupId、artifactId、version
依赖
Maven也是依赖管理工具,每一个项目都需要依赖于很多的第三方构件才能实现功能,这也是不重复造轮子的体现。每一个依赖其实也可以视为一个Maven项目。如下图就是Maven的POM中声明的依赖
依赖是具有传递性的
依赖也有调优原则:路径最近优先和第一声明优先
仓库
仓库的架构如下图所示,本地仓库有效加速构建,并基于私有仓库进行开发协作
生命周期与插件
聚合、继承和反应堆
聚合模块
继承模块
结束语
内容很多,小编有点蒙圈,慢慢消化消化,希望有更多的同学采用Maven 解决自己和团队的构建、依赖管理、团队协作的问题
以上是关于DevOps沙龙 | Maven项目构建资料分享的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins北京线下沙龙:Jenkins Driven CD&DevOps
入手公司项目却不会Maven?看完这篇保你轻松掌握(附资料分享)
CODING DevOps 线下沙龙回顾一:DevOps 代码质量实战
干货 | Jenkins Area Meetup 北京沙龙速递(附PPT)