DevOps沙龙 | Maven项目构建资料分享

Posted 用友敏捷联盟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevOps沙龙 | Maven项目构建资料分享相关的知识,希望对你有一定的参考价值。

秋风瑟瑟,烟雨蒙蒙,真是却道天凉好个秋呀!每到这个时候就只会想念三样东西:暖气、被窝和秋裤!只可惜这三样都木有,好在还有DevOps沙龙每周三都陪伴着我!

本期的DevOps沙龙,我们邀请到了集团开发管理部的薛文同学给大家讲Maven项目构建,MavenApache基金会的开源项目,是当前主流的三个Java项目构建工具之一,另外两个是AntGradleMaven集项目构建、依赖管理、项目管理于一身,深受Java开发者的青睐!

1、开场

薛文同学就着实让我们虐心了一把,这一桩桩,一件件都是我们正在经历的痛苦,让我忘却了编码的快乐!

1、都是同样的代码,他的机器上编译就不行?

2、在集成发布的机器上无法正常打包?

3、项目组来了新成员,构建环境如何配置?

4JAR包要不要放到代码库中?

5、每个代码仓库中都有同样的JAR包,重复是一种罪过,阿弥陀佛!

6、是否因为第三方库的兼容性问题抓耳挠腮?

7JAR包如何分发给其他团队成员,U盘、代码库、邮件?

正式这些问题激发了程序员的创造力,Maven就是为了解决这些问题而生的

2、什么是Maven

答案1构建工具

答案2依赖管理工具

答案3项目信息管理工具

3POM项目对象模型


POMMaven的核心,是其惯例由于配置理念的体现,POM中包含了构建的坐标信息,依赖信息等等

坐标

坐标元素:groupIdartifactIdversion

DevOps沙龙 | Maven项目构建资料分享

依赖

Maven也是依赖管理工具,每一个项目都需要依赖于很多的第三方构件才能实现功能,这也是不重复造轮子的体现。每一个依赖其实也可以视为一个Maven项目。如下图就是Maven的POM中声明的依赖

DevOps沙龙 | Maven项目构建资料分享

依赖是具有传递性的

DevOps沙龙 | Maven项目构建资料分享

依赖也有调优原则:路径最近优先和第一声明优先

DevOps沙龙 | Maven项目构建资料分享

仓库

仓库的架构如下图所示,本地仓库有效加速构建,并基于私有仓库进行开发协作

DevOps沙龙 | Maven项目构建资料分享

生命周期与插件


DevOps沙龙 | Maven项目构建资料分享

聚合、继承和反应堆

聚合模块


DevOps沙龙 | Maven项目构建资料分享

继承模块


结束语

内容很多,小编有点蒙圈,慢慢消化消化,希望有更多的同学采用Maven 解决自己和团队的构建、依赖管理、团队协作的问题


以上是关于DevOps沙龙 | Maven项目构建资料分享的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins北京线下沙龙:Jenkins Driven CD&DevOps

入手公司项目却不会Maven?看完这篇保你轻松掌握(附资料分享)

CODING DevOps 线下沙龙回顾一:DevOps 代码质量实战

干货 | Jenkins Area Meetup 北京沙龙速递(附PPT)

什么是Maven? 使用Apache Maven构建和依赖项管理

精益运维与 DevOps 最佳实践 丨又拍云Open Talk &优维科技技术沙龙