Maven概述

 一.为什么需要Maven?

     我们程序员在开发一个项目时,往往都需要使用到很多的第三方类库.一个项目的jar包通常是很多的,令我们瞠目结舌,且它们之间的关系十分复杂.以往我们在开发一个项目时需要花费很多时间在引用jar包搭建项目上,而这又十分复杂,通常会造成很多的麻烦.这时候Maven就因用而生.

我们通常会遇到的问题:

  • 1.jar包难以寻找

  • 2.jar包依赖的问题

  • 3.jar不方便管理

  • 4.项目编译问题

二.什么是Maven?

    Maven基于项目对象模型(POM project object model),是一款开源的项目管理工具.可以通过一小段描述信息(配置)来管理项目中的jar及jar包之间的依赖关系,完成项目的编译,测试,打包及发布等工作.

  • Maven的核心功能是合理叙述项目之间的依赖关系,就是通过pom.xml文件的配置来获取jar包,而不用我们手动去添加jar包.

  • 如果我们需要使用pom.xml来获取jar包,那么我们在创建项目时就应该将项目创建为Maven项目.

  • 我们可以通俗的理解为Maven项目就在java项目和web项目的外面套上了一层Maven,本质上java项目还是java项目,web项目还是web项目.但是在包裹了Maven之后,我们就可以使用Maven提供的一些功能,如通过pom.xml添加jar包.

三.Maven中的概念(名词释义)

1.POM(Project Object Model项目对象模型):

    POM是项目对象模型的简称,它是Maven项目中的文件,使用xml表示,名称为pom.xml.该文件用于管理: 源代码,配置文件,开发者的信息,问题追踪机制,组织信息,项目授权,项目的rul,项目的依赖关系等.

事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件.

2.项目坐标:

    在Maven中给每一个jar定义了一个唯一的标识,我么将它称为Maven项目的坐标.通过项目坐标我们可以在仓库中找到我们所需要的任何jar包.

常见的项目坐标包含一下3个部分:

    groupId,artifactId,version.

有的项目坐标除了以上3者还会有: packaging 它的值是可选的(默认为 jar)

栗子:
servlet4.0.1的项目坐标如下所示:

<groupId>javax.servlet</groupId>
 <artifactId>javax.servlet-api</artifactId>
 <version>4.0.1</version>
 <scope>provided</scope>

3.仓库:

    我们知道通过Maven可以很方便的获取到我们所需的jar包,那么这些jar包是存放在哪里呢?也就是我们是在哪里去获取这些所需的jar包呢?
  ​ 答案就是: 仓库

仓库分为以下几种:

  • 中央仓库:
        
    中央仓库即为Maven内置的远程公用仓库,是由Maven自己维护的,里面存放了大量的常用类库,并且包含了世界上大部分流行的开源软件的项目jar包. 当我们需要使用一个jar包时,如果本地仓库中没有,那么Maven就会自动从中央仓库中去下载并且保存到本地仓库.

  • 镜像仓库:
         
    镜像仓库即是一个第三方仓库,一般是由公司自己设立的.当第三方仓库作为镜像仓库使用时,它就会将中央仓库中的jar包保存在其中,减少了我们对中央仓库的访问频率,提高jar包的下载速度,类似于一个中转站.

  • 本地仓库:
         Maven会将工程中依赖的构建(jar包)从远程下载到本机的一个目录下进行管理,一般情况下我们会修改默认的本地仓库地址,自己创建一个文件夹用做本地仓库的地址. 这样我们每次在Maven项目中输入一个新的项目坐标,Maven就会自动去向远程仓库中去下载所需jar包,并将它存放在本地仓库中.以后每次写项目直接从本地仓库中获取jar包,而不用去远程仓库下载.

图片助解仓库之间的关系:

 230beccbb45642bd8fb42fe3115c9c5a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会写代码的菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值