1.Maven项目管理工具

Maven基础

1.1、什么是Maven

1.1.1、什么是Maven
一个对meven比较正式的说法: Maven是一个项目管理工具、它包含一个项目的对象模型、一组标准集合、一个项目的生命周期、一个项目管理系统、和用来运行定义生命周期阶段中插件目标的逻辑。

1.1.2 Maven能解决什么问题
1、我们需要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包往往有几十个乃至上百个, 每用
到一种 jar 包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的 jar 包冲突,版本冲突。
2、我们辛辛苦苦写好了 Java 文件,可是只懂 0 和 1 的白痴电脑却完全读不懂,需要将它编译成二
进制字节码。好歹现在这项工作可以由各种集成开发工具帮我们完成,Eclipse、IDEA 等都可以将代
码即时编译。当然,如果你嫌生命漫长,何不铺张,也可以用记事本来敲代码,然后用 javac 命令一
个个地去编译,逗电脑玩。
3、世界上没有不存在 bug 的代码,计算机喜欢 bug 就和人们总是喜欢美女帅哥一样。为了追求美为
了减少 bug,因此写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。
4、再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型
打包,如果是 web 项目,还需要将之发布到服务器,供人蹂躏。

Maven 就可以解决上面所提到的这些问题。

1.1.3 Maven的优势
传统web项目构建的crm项目和Maven构建的crm项目,在同样的项目框架的时候Maven管理的项目的往往会比传统的项目小很多,因为Maven中所有的jar包会放到jar包库,所有工程中调取jar包时都会往jar包库中调用jar包,实现的代码中的可重用。

1.2 Maven 的两个精典作用
1.2.1 Maven 的依赖管理

Maven 的一个核心特性就是依赖管理。当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成
一项困难的任务。Maven 展示出了它对处理这种情形的高度控制。
传统的 WEB 项目中,我们必须将工程所依赖的 jar 包复制到工程中,导致了工程的变得很大。那么
maven 工程是如何使得工程变得很少呢?
分析如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191227134241206.png
通过分析发现:maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar
包的坐标,这样就很好的避免了 jar 直接引入进来,在需要用到 jar 包的时候,只要查找 pom.xml 文
件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从
而找到这些 jar 包,再把这些 jar 包拿去运行。
那么问题来了
第一:”存放 jar 包的仓库”长什么样?
第二:通过读取 pom.xml 文件中的坐标,再到仓库中找到 jar 包,会不会很慢?从而导致这种方式
不可行!
第一个问题:存放 jar 包的仓库长什么样,这一点我们后期会分析仓库的分类,也会带大家去看我们
的本地的仓库长什么样。
第二个问题:通过 pom.xml 文件配置要引入的 jar 包的坐标,再读取坐标并到仓库中加载 jar 包,这
样我们就可以直接使用 jar 包了,为了解决这个过程中速度慢的问题,maven 中也有索引的概念,通
过建立索引,可以大大提高加载 jar 包的速度,使得我们认为 jar 包基本跟放在本地的工程文件中再
读取出来的速度是一样的。这个过程就好比我们查阅字典时,为了能够加快查找到内容,书前面的
目录就好比是索引,有了这个目录我们就可以方便找到内容了,一样的在 maven 仓库中有了索引我
们就可以认为可以快速找到 jar 包。
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
传智播客——专注于 Java、.Net 和 Php、网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
1.2.2 项目的一键构建
我们的项目,往往都要经历编译、测试、运行、打包、安装 ,部署等一系列过程。
什么是构建?
指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个
过程称为构建。
一键构建
指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作。
Maven 规范化构建流程如下:
在这里插入图片描述
我们一起来看 Hello-Maven 工程的一键运行的过程。通过 tomcat:run 的这个命令,我们发现现在的
工程编译,测试,运行都变得非常简单。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值