依赖管理

Maven Gradle 比较
maven VS gradle

假如还没有依赖管理工具,我们要自己设计一个,如何入手?
1.要有一种依赖库的命名规则,或者叫坐标
2.要有对应的配置文件规则,来描述依赖
3.要有中心仓库来保存这些依赖库,供使用方拉取
4.要有一个本地工具去解析这个配置文件,实现依赖的拉取

Maven

  • Maven 诞生于2004年,习惯通过 groupId、artifactId、version 来定义坐标,通过 XML 做配置文件,提供了中心仓库和本地工具(mvn).
  • Maven 的依赖提供了 exclude 配置机制,用于阻断部分库的传递依赖。
  • Maven 并没有将自己单纯的定义为依赖管理工具,而是项目管理工具,它将项目的整个生命周期都囊括进去了。
  • Maven 的核心思想: Convention Over Configuration
  • Maven 引入了module 的概念,同一个项目下可以有多个 module,每个 module 有单独的 pom 文件来定义,但为了避免重复,Maven 的 pom 文件支持 parent 机制,子项目的 pom 文件继承 parent pom 的基本配置。

Maven 多项目版本管理的最佳实践:
1.父项目中配置版本号,子项目中不显式配置版本号,继承父项目版本号。
2.子项目之间的依赖通过${project.version}引用,不要明确配置版本号。
3.发布新版的时候,同时发布所有子项目,即便是该子项目未做变更。
4.最好通过Maven的release插件发布,避免手动修改版本号导致的不一致问题。

  • 其他语言:Ruby-gem, Ruby-bundler, Python-pip, Node-npm, IOS-CocoaPods

Gradle

  • Gradle 对 Maven 的改进:
    配置文件: xml -> dsl语言
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,486评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,080评论 6 342
  • 依赖管理 依赖管理是Gradle最闪耀的地方,最好的情景是,你仅仅只需添加一行代码在你的build文件,Gradl...
    木木00阅读 3,218评论 1 6
  • 请把我的生日礼物还给我。 虽然你根本就没有准备,我却觉得你必须要准备,等着我找你去取。 所以,你欠我一份生日礼物。...
    亲爱的盖娅阅读 1,384评论 0 1
  • 自己人好,其实跟自己每月的伙食费是大有关系的。原来自己每月的开销是挺大的。1000多元才充足。也就是说自己误以为的...
    浪客剑心_1fb6阅读 1,137评论 0 0