Apache Maven是Java开发的基石,也是Java 使用最广泛的构建管理工具。Maven简化的基于XML的配置模型使开发人员能够快速描述或掌握任何基于Java的项目的轮廓,这使得启动和共享新项目变得很容易。Maven还支持测试驱动的开发,长期项目维护,其声明性配置和广泛的插件使其成为CI / CD的流行选择。本文是对Apache Maven的快速介绍,包括Maven POM和目录结构,以及用于构建第一个Maven项目的命令。

Maven是如何工作的

像许多出色的工具一样,Maven可以将曾经过于复杂的内容(配置地狱)简化为易于消化的部分。Maven包含三个组件:
POM:描述Maven项目及其依赖项的文件。
目录:用于描述POM中的Maven项目的标准化格式。
存储库:第三方软件的存储和发现位置。

Maven POM:每个使用Maven的Java项目在其根目录中都有一个POM(项目对象模型)文件。会pom.xml描述项目的依赖关系,并告诉您如何构建它。(依赖关系是项目所需的第三方软件。一些常见的示例是JUnit和JDBC。有关所有可用工具和流行依赖关系的列表,请参见Maven Central存储库。)
Maven目录:Maven目录实现了所谓的约定优于配置,这是对配置地狱的一种优雅解决方案。makefileMaven 不需要开发人员为每个新项目定义布局和手动配置组件(与和Ant一样),而是建立了通用的项目结构并提供了描述其工作方式的标准文件格式。您只需插入需求,Maven就会调用依赖项并为您配置项目。
集中存储库:最后,Maven使用集中存储库来发现和发布项目包作为依赖项。当您在项目中引用依赖项时,Maven会在集中式存储库中发现它,将其下载到本地存储库,然后将其安装到您的项目中。在大多数情况下,作为开发人员,所有这些都不可见。
结论
Maven之所以如此常用是因为它运行良好并且足够成熟,可以处理您向它扔的任何东西。了解Maven并将其用作项目的基础可释放Java生态系统中为您提供的大量功能。
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。

2020最流行的Java构建和依赖管理工具:Maven相关推荐

  1. 你最常用的构建和发布管理工具是什么

    最近Eclipse社区进行了一项调查,关注社区如何使用Eclipse和其它开源软件,目前调查的结果已经发布,详细的结果涵盖了IDE,操作系统,版本控制工具等等,具体可以查看这个链接: http://w ...

  2. go build不从本地gopath获取_跟我一起学习go语言,包依赖管理工具go mod

    Go Module是Go会在1.12中正式推出的包管理机制. Go mod 简介 Golang一直存在一个被人诟病的问题是缺少一个官方的包依赖管理工具.从我个人的角度上来看存在两个问题: GOPATH ...

  3. linux go vendor目录,Go 包依赖管理工具 —— govendor

    govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具.与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本.以及 ...

  4. golang 官方依赖管理工具 dep 使用和持续集成

    介绍 go dep 依赖管理工具是为应用管理代码的,go get是为GOPATH管理代码的 官方地址 官方说明为啥要统一依赖管理 dep 需要在Go 1.7及更高的版本中使用 安装 本文使用 gola ...

  5. Golang依赖管理工具:glide从入门到精通使用

    2019独角兽企业重金招聘Python工程师标准>>> 介绍 不论是开发Java还是你正在学习的Golang,都会遇到依赖管理问题.Java有牛逼轰轰的Maven和Gradle. G ...

  6. PHP依赖管理工具Composer配置安装及基本使用

    一.介绍 Composer是PHP中的一个依赖管理工具. 它可以让你声明自己项目所依赖的库,然后它将会在项目中为你安装这些库.就像是node的npm和ruby的bundler差不多. 二.window ...

  7. go之官方依赖管理工具dep安装和使用

    前言 大家都知道go没有一个自己的包管理平台.社区里go的第三方包托管在各个git托管平台.需要用到包时通过go get 命令工具安装,但这个工具没有版本描述性文件,在go的世界里没有"pa ...

  8. GoLand2021使用包依赖管理工具 Go Modules

    GoLand2021使用包依赖管理工具 文章目录 GoLand2021使用包依赖管理工具 前言 一.创建空项目 二.配置项目的GOPATH 1.设置GOPATH目录 三.使用 Go Modules 1 ...

  9. 安装Objective-C的依赖管理工具CocoaPods

    CocoaPods--Swift 与 Objective-C 项目的依赖管理工具,iOS 开发者的必备技能.如果你没有任何 CocoaPods 经历,那么这篇短文就是为你而写.我们将会学到什么是 Co ...

最新文章

  1. Access中复制表
  2. 技术QA:如何把EXE转成MSI?
  3. 杀毒软件为什么不能启动、运行
  4. 深入理解ResNet原理解析及代码实现
  5. Qt学习笔记-----Model/View架构之自定义Model
  6. 【NOI2011】兔兔与蛋蛋的游戏【二分图博弈】
  7. LeetCode 1797. 设计一个验证系统(map)
  8. 【数据结构与算法】布谷鸟散列表的Java实现
  9. Dubbo源码分析系列-深入RPC协议扩展
  10. 图解抖音推荐算法(布局抖音短视频的可以参考)
  11. ioswebview混编_iOS与H5混编--优秀的第三方框架WebViewJavascriptBridge
  12. FirstApp,iphone开发学习总结3,UIButton简单的操作
  13. ShardingSphere——水平分表与数据迁移
  14. 手机自学html,5套Bootstrap手机模板HTML源文件分享
  15. 北语计算机保研,北京中医药大学2021届保研率14.4%,北京语言大学2021推免率10.8%...
  16. win10安装visio2010出错_win10安装office2010时显示错误1907如何解决
  17. DP转HDMI/VGA方案设计电路图参考|AG6320参考电路原理图PCB电路图
  18. ios-mfi_蓝牙部分翻译
  19. Spring Boot+Vue+阿里云OOS实现图片上传
  20. seqminopt matlab,RNA-seq

热门文章

  1. Ant Design Pro Vue使用心得
  2. Loren Carpenter与分形山脉
  3. 一张图看懂信息化和数字化的本质区别
  4. Python中end作用
  5. Solr调研总结(很详细很全面)
  6. 数字政务是推动公共服务和社会治理精细化、智能化的重要载体
  7. 锐龙R7 PRO 6860Z怎么样 相当于什么水平级别
  8. 又一个程序猿的奋斗史——第一章 初入职场
  9. 自我成长自学必备网站,终生学习平台
  10. PGA内存空间的分配与回收