更新时间:2020-12-17 15:52:09 来源:极悦 浏览1062次
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
什么是项目构建?
构建是什么呢?简单地说,构建就是软件项目生产的整个过程,这个过程应该包括:
(1)文档和代码的生成(有些项目会使用代码自动生成工具,比如数据库访问代码的逆向工程)
(2)代码的编译、测试和打包
(3)打包好的代码进行分发或者部署
由此可见,项目的构建可绝不仅仅是编译软件这件事情。除了写代码,在项目层面做的大部分工作,都包含在构建的过程中。
有了Maven这个开源利器,构建中的这些过程都能够进行良好的定义,而且Maven能够帮我们串起来形成一个自动构建过程,这样比我们手动执行要高效得多。
项目依赖管理的噩梦
Java最大的一个优势就是有非常强大的生态,整个生态中有无数的框架和API供人使用。我们在创建实际的项目过程中不可避免地需要用到这些框架和API,而它们通常都是以Jar包的形式提供。相信很多人都经历过Jar Hell的问题吧。事实上,让一个项目所依赖的外部Jar包保持正确的版本和最新的状态,是件非常苦逼的事情。我们编译项目的时候,需要在ClassPath上存放依赖的Jar包,而这些Jar包还会有其他依赖。你一定经历过递归地一个个去下载所有外部依赖的痛苦过程吧,并且还要确保下载的版本都是正确的,当项目越来越复杂的时候,这是件极其麻烦的事情。
Maven的出现让我们获得了解脱,Maven可以自动帮我们做依赖管理,我们需要做的就是在POM文件里指定依赖Jar包的名称、版本号,Maven会自动下载,并递归地去下载依赖的进一步依赖。
另外,Maven还提供一个非常方便的功能---快照依赖。快照依赖指的是那些还在开发中的内部依赖包。与其你经常地更新版本号来获取最新版本,不如直接依赖项目的快照版本。快照版本的每一个Build版本都会被下载到本地仓库,即使该快照版本已经在本地仓库了。使用快照依赖可以确保本地仓库中的每一个Build版本都是最新的,这对我们快速迭代开发是一个非常酷的特性。
Maven学习要求
Maven是Java项目构建工具,可以用于管理Java依赖,还可以用于编译、打包以及发布Java项目,类似于JavaScript生态系统中的NPM。因此,每一位高级工程师或软件架构师,都应该至少具备以下两项Maven技能:
(1)熟练使用Maven构建项目;
(2)排查并调解项目依赖冲突;
极悦推出的,免费下载学习。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习