1.什么是Maven
①Maven是一款实现自动化构建的工具软件。
②构建:从源程序→程序的执行
清理→编译→测试→报告→打包→部署→执行
③构建工具:Make→Ant→Maven→Gradle...
④Maven的运行机制是主程序调用插件实现具体功能,需要的插件需要联网下载才能使用
通过修改解压目录/conf/settings.xml文件中的localRepository标签的值可以修改默认的仓库目录
2.Maven自动化构建机制
1项目对象模型 Project Object Model
将项目理解为一个对象模型进行管理,与项目构建相关的所有信息保存在pom.xml配置文件中
2约定的目录结构
Maven之所能实现自动化的编译、测试等操作是基于约定的目录结构
3坐标
①用于在Maven的世界中唯一的定位到某一个“构建”
②坐标的组成
<groupId>com.atguigu.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<package>jar</package>
4依赖管理
①Maven构建查找它所依赖的JAR包时会首先到本地仓库中查找,如果仓库中没有则报错。
所依赖的构建必须安装到仓库中才能够被其他构建所使用
②依赖的概念:当前构建需要用到的其他的构建
③依赖的实现:通过目标构建的坐标引用所依赖的构建
④依赖的范围:
依赖的目标构建对当前工程当中的哪些类有效
compile:表示当前工程中的所有的类都需要使用这个JAR包
test:表示当前工程中只有测试的类依赖这个JAR包
provider:表示当前工程只在开发阶段依赖这个JAR包,部署后这个JAR包会由容器提供
例如:servlet-api
⑤依赖的原则
[1]路径最短者优先
[2]路径相同时先声明者优先
5仓库管理
①如何在仓库中查找构建
groupId+artifactId+version
com\atguigu\maven\Hello\0.0.1-SNAPSHOT
②仓库概念:Maven所有的构建存储的位置
③存储的内容:Maven的构建
[1]Maven自身的插件
[2]软件开发过程中使用Maven构建得到的程序模块
[3]大量第三方提供的JAR包
④仓库分类
[1]本地仓库
(1)运行于用户本机
(2)为当前主机上的所有的Maven构建提供依赖支持
[2]远程仓库
      (1)私服:在局域网中搭建的一个服务器,为当前局域网中的Maven构建服务
共享第三方JAR包
共享项目中的公共模块
(2)中央仓库
Maven为全世界程序开发人员搭建的总的服务器
(3)镜像仓库
分担中央仓库的压力,在各个大洲建立的镜像服务器
⑤Maven从仓库中查找构建的原则:从小到大的范围
6生命周期
①概念:项目从清理、编译等环节直到部署到服务器上运行所经历的整个过程
②三套独立的生命周期
[1]清理:执行项目清理的各个环节
[2]默认:执行项目从编译到部署的各个环节
[3]站点:执行项目信息站点自动生成的各个环节
③特点:执行生命周期中的任何一个阶段,Maven都会从这个周期最初的环节开始执行,
直到指定的环节
7插件和目标
①插件:Maven的所有功能都不是由主程序执行的,具体功能都是由插件完成的。
主程序只起调度的作用。
②Maven的插件本身也是Maven的构建,所以需要到Maven的仓库中查找
③Maven中有一部分插件是与生命周期直接相关的。每个插件都会有多个目标,
每个目标对应生命周期中的一个阶段。
8聚合和继承
①继承:将POM文件中的重复内容抽取出来放到父POM中,简化配置文件,
同时对整个项目所有的依赖的版本进行统一管理
②聚合:将多个构建模块聚合为一个工程,安装聚合工程就可以全部自动安装

 

Maven基础笔记,原理的更多相关文章

  1. MAVEN学习笔记之基础(1)

    MAVEN学习笔记之基础(1) 0.0 maven文件结构 pom.xml src main java package resource test java package resource targ ...

  2. Maven基础学习笔记

    Maven基础学习笔记 下载链接 官网:https://maven.apache.org/ 所有版本:https://archive.apache.org/dist/maven/maven-3/ 阿里 ...

  3. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  4. php代码审计基础笔记

    出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 --------------------------- ...

  5. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

  6. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

  7. REDIS基础笔记

    Redis基础笔记 资源链接 简介 简介 安装 五种数据类型及相应命令 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 其他 事务 SORT 生存时间 任务队列 发布 ...

  8. maven基础知识

    1.maven基础知识 1.1maven坐标 maven坐标通常用冒号作为分割符来书写,像这样的格式:groupId:artifactId:packaging:version.项目包含了junit3. ...

  9. Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

随机推荐

  1. android WeakReference(弱引用 防止内存泄漏)与SoftReference(软引用 实现缓存机制(cache))

    在Android开发中,基本上很少有用到软引用或弱引用,这两个东东若用的很好,对自己开发的代码质量的提高有很大的帮助.若用的不好,会坑了自己.所以,在还没有真正的去了解它们之前,还是慎用比较好. 下面 ...

  2. C#与C/C++的交互

    引擎内核用C++为了保证运行速度,程序员可以使用C#来编写其他的业务逻辑,可以使用.NET类库中的绝大多数类,这样来降低开发难度,同时也降低了入门难度,可以吸引更多的.NET程序.

  3. Python之路,day7-Python基础

    os.system 输出命令结果到屏幕,返回命令执行状态os.popen("dir").read()#会保存命令的执行结果输出py2.7commandscommands.getst ...

  4. JQuery实现列表中复选框全选反选功能封装

    我们在做列表的时候经常会遇到全选,反选进行批量处理问题,例如: 我当时就是简单的实现了,然后想封装到公共的js中,封装的太烂,不好意思贴出来了(就是把实现代码之间放到公共js中,然后每个页面都用固定的 ...

  5. 5G扫盲

    打开手机,连接wifi,如果想要下载一部自己喜欢的高清电影,一般需要半小时左右的时间.5G时代,你可能花费不到1分钟就能完成这些操作.更快的网速.更多的应用意味着更广阔的市场空间,也意味着更激烈的市场 ...

  6. asp.net 导入excel文件

    前台页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="b2ccarri ...

  7. Quartz 线程处理

    官网 http://www.quartz-scheduler.net/ 相关的 Log 说明 http://netcommon.sourceforge.net/docs/2.1.0/reference ...

  8. JSP的基本语法:

    JSP文件有5类元素:注释,模版,脚本,指令,行为 下面我就和大家分别唠唠,这5个玩意到底是啥玩意! 一.注释(我feel有三种): html注释:<!--……-->  显式注释,即客户端 ...

  9. 监控服务 - Nagios配置文件详解

    Nagios的配置文件: Nagios安装后有四种默认的配置文件:主配置文件.CGI配置文件.资源定义文件.对象定义文件.这些配置文件间具有一些关系,只有充分理解各配置文件,才能使得配置Nagios服 ...

  10. MySQL服务 - MySQL程序的配置文件、参数、变量查看

    查看配置文件及读取顺序 MySQL的配置文件以.cnf结尾,可能会有多个,而不同版本的MySQL程序的读取配置文件的路径也都不同,要想获取MySQL读取配置文件的顺序可以通过以下指令查看: shell ...