Maven概述

有借鉴其他大神编写文档,如有不妥请及时告知!

1.Maven概述
     ①为什么要使用Maven?
          让开发人员从繁琐的构建操作中解脱出来,将更多的精力投入到业务逻辑的实现上。
     ②什么是Maven?
          一款自动构建工具。
          Make→Ant→Maven→Gradle(groovy)→...
     ③什么是构建?
          指应用程序从清理、编译、测试、报告、打包、部署等全过程。
     ④Maven三个主要功能
          [1]自动化构建
          [2]依赖管理
               (1)依赖:进行Spring的开发,就需要依赖Spring相关的JAR包。
               (2)依赖的复杂性
                    

                    

          [3]生成项目信息:根据当前项目的信息,生成一个静态网页的站点。

2.Maven核心概念
     ①项目对象模型:POM
     ②约定的目录结构
     ③坐标
     ④依赖管理
     ⑤仓库管理
     ⑥生命周期
     ⑦插件和目标
     ⑧继承和聚合

3.Maven的安装
     ①检查当前系统的运行环境:确认当前系统中是否提供了JAVA_HOME的环境变量
     ②将Maven安装包解压到非中文无空格目录
     ③配置path环境变量
     ④建议配置MAVEN_HOME环境变量
     ⑤检测:在命令行输入mvn -v

4.Maven联网
     ①Maven的核心程序并不包含任何具体的功能,只起一个统筹调度的作用,具体的工作需要由Maven的很多具体的插件来完成。
     ②Maven会首先到本地仓库中查找插件对应的JAR包
     ③默认的本地仓库的目录:~\.m2\repository
     ④修改默认的本地仓库目录
          [1]找到Maven解压目录下/conf/settings.xml
          [2]设置

<localRepository>D:\DevRep\MavenRepository</localRepository>

5.项目对象模型
     ①POM:Project Object Model
     ②将Maven工程封装为对象,抽取其中的共性定义为一个模型
     ③POM的信息主要是体现在Maven工程的pom.xml文件中

6.坐标
     ①在数学中,使用X和Y两个坐标可以在平面上唯一的定位一个点。
     ②在Maven中,使用每个工程自己的坐标就可以唯一的定位到一个Maven工程
     ③Maven坐标的三个向量
          公司组织ID:<groupId>cn.com.xxx.maven</groupId>
          模块ID:<artifactId>Hello</artifactId>
          版本号:<version>1.0</version>

7.依赖管理
     ①依赖方式
          [1]在Maven工程中是通过dependency元素中定义的目标工程的坐标来指定依赖
          [2]当指定了当前工程依赖的其他工程之后,Maven会首先到本地仓库中查找目标工程
          [3]查找某个Maven工程的规则:公司ID构成的目录结构+模块名目录+版本号目录
          [4]一个Maven工程必须执行“安装”操作后才能够进入本地仓库
     ②解决依赖冲突的问题
          [1]路径最短者优先

          [2]路径相同时先声明者优先

     ③依赖的范围
          [1]compile:默认范围,对当前工程中的所有类都有效
          [2]test:只对测试代码有效
          [3]provided:对当前工程中的所有类都有效,但不会被打包到最终的包里面,原因是项目运行时所作的环境会提供相关的JAR包。
          [4]runtime:对当前工程中的所有类都有效,但具体使用的JAR包会在运行时决定,例如JDBC驱动。

8.仓库管理
     ①仓库分类
          [1]本地仓库:就在当前电脑本地,可以为本机上的所有Maven工程提供依赖服务和插件管理。
          [2]远程仓库
               ●私服:当前局域网环境内的Maven服务器,可以为当前局域网内的所有Maven工程服务。
                    ○当某个Maven工程需要一个第三方JAR包时,可以首先到本地仓库查找,如果没有就到私服上找,如果私服上还没有,则私服负责从远程中央仓库下载,并保存到私服上,如果以后再有其他Maven工程需要这个JAR包,则可以从私服上获取,不必连远程中央仓库了。
                    ○当局域网内的某个开发人员将自己的Maven提交到私服上,则同一个局域网的其他开发人员就都可以引用这个Maven工程了。
               ●中央仓库:为全世界所有Java开发人员提供Maven构建的下载服务。
               ●镜像仓库:中央仓库的镜像,分担中央仓库的访问压力。
     ②仓库的内容
          [1]开发人员自己的Maven工程安装以后就会进入仓库
          [2]Maven自身的插件
          [3]第三方JAR包

9.生命周期
     ①Maven将各个构建过程定义为一组生命周期阶段
     ②Maven在执行任何一个Maven命令时,不是单独的执行命令本身,而是从当前生命周期开始执行已经定义好的每一个过程,直到完成Maven命令。
     ③三个主要的生命周期
          [1]清理生命周期
          [2]默认生命周期
          [3]站点生命周期

10.插件和目标
     ①Maven中所有的具体功能都是由Maven插件完成的。
     ②每一个Maven插件都包含一个或多个目标,每一个目标都和生命周期中的某一个阶段对应。
          



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值