第一节:Maven仓库概念

Maven 远程仓库配置文件:
$M2_HOME/lib/maven-model-builder-3.3.3.jar

文件:org\apache\maven\model\pom-4.0.0.xml
<repositories>
  <repository>
    <id> central </id>
    <name> Central Repository </name>
    <url> https://repo.maven.apache.org/maven2 </url>
    <layout> default </layout>
    <snapshots>
      <enabled> false </enabled>
    </snapshots>
  </repository>
</repositories>

Maven需要下载的依赖包都是从这里下载得到的<url> https://repo.maven.apache.org/maven2 </url>。

第二节:Maven依赖特性

依赖传递:

user-service --->   Spring-core ---> Commons-logging

我们只需要考虑Commons-logging就可以了,中间的Spring-core依赖,maven会帮我们自动考虑到的。

依赖选择:

maven的依赖选择是如何选择的??

答:最短路径原则和最先声明原则

(一)A-->B-->C-->X

    和

  A-->D-->X

  这就是最短路径原则,maven会自动帮助我们找到最短的那个,这里maven会使用A-->D-->X这个短的路径

(二)A-->B-->X

    和

  A-->C-->X

  这就是最先声明原则,maven会自动帮助我们找到最先声明的那个,这里maven会使用A-->B-->X这个最先声明的路径

第三节:Maven聚合与继承特征

第四节:Maven依赖范围

classpath 分为三种:

    编译 classpath ,

    测试 classpath ,

    运行 classpath

Scope 选项如下:

    Compile:编译依赖范围。默认就是 compile。在编译,测试,运行都有效;

    Test:测试依赖范围。仅测试有效; 例如 JUnit;

    Provided:已提供依赖范围。编译,测试有效,运行时候无效。例如 servlet-api。

    System:系统依赖范围。(了解即可)使用 system 范围的依赖必须通过 sytemPath 指定依赖文件的路径。

    Import:导入依赖范围。(了解即可)使用 dependencyManagement 时候,可以导入依赖配置。

Maven3核心技术(笔记三)的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  3. Mastering Web Application Development with AngularJS 读书笔记(三)

    第一章笔记 (三) 一.Factories factory 方法是创建对象的另一种方式,与service相比更灵活,因为可以注册可任何任意对象创造功能.例如: myMod.factory('notif ...

  4. Python 学习笔记三

    笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...

  5. 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现

    本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...

  6. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  7. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  8. 构建高性能WEB站点笔记三

    构建高性能WEB站点笔记三 第10章 分布式缓存 10.1数据库的前端缓存区 文件系统内核缓冲区,位于物理内存的内核地址空间,除了使用O_DIRECT标记打开的文件以外,所有对磁盘文件的读写操作都要经 ...

  9. Git 笔记三 Git的初步使用

    Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...

  10. 谷歌三大核心技术(三)Google BigTable中文版

    谷歌三大核心技术(三)Google BigTable中文版 Bigtable:一个分布式的结构化数据存储系统 译者:alex 摘要 Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海 ...

随机推荐

  1. ASP.NET MVC API 接口验证

    项目中有一个留言消息接口,接收其他系统的留言和展示留言,参考了网上的一些API验证方法,发现使用通用权限管理系统提供的验证方法最完美(http://www.cnblogs.com/jirigala/p ...

  2. HDU 6070 二分+线段树

    Dirt Ratio Time Limit: 18000/9000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)Tot ...

  3. sqlalchemy多外键关联

    一.前言 如果有张表A的多个字段关联另一张表B的一个字段,就如同一个客户表的账单地址和发货地址,同时关联地址表中的id字段. 二.事例 # -*- coding: UTF-8 -*- from sql ...

  4. Linux Wget 命令实例讲解

    Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器.如果我们使用虚拟主机,处理这样的 ...

  5. Hadoop基础-HDFS递归列出文件系统-FileStatus与listFiles两种方法

    Hadoop基础-HDFS递归列出文件系统-FileStatus与listFiles两种方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. fs.listFiles方法,返回Loc ...

  6. WebStorm 使用webpack打包(build) Vue 静态资源无法访问(路径不对)问题

    在WebStorm中使用webpack打包 (命令npm run build) 后生成在项目的dist目录下,在浏览器打开,静态资源js.css等无法加载.因为打包时,资源使用了绝对路径. 解决: 打 ...

  7. IEnumerable 与 IQueryable

    无论是在ado.net EF或者是在其他的Linq使用中,我们经常会碰到两个重要的静态类Enumerable.Queryable,他们在System.Linq命名空间下.那么这两个类是如何定义的,又是 ...

  8. IT人应当知道的10个行业小内幕

    如果你打算从事IT行业或刚进入这个行业,也许本文下面的小内幕会吓到你,因为这些事平常都不会公开讨论的.如果你是IT资深人士,或许你已经遇到其中的大部分了.如果你愿意,请一起来参与讨论吧. 这些内幕大多 ...

  9. 鸟哥的书——ubuntu命令

    纯粹按着鸟哥的书上的基本命令打一遍,不喜勿喷! Chapter5.首次登录 一.基础命令: 1.显示时间和日期的命令:date dzhwen@deng:~$ date 2014年 02月 23日 星期 ...

  10. App测试需注意

    APP测试的时候,建议让开发打好包APK和IPA安装包,测试人员自己安装应用,进行测试.在测试过程中需要注意的测试点如下: 1安装和卸载 ●应用是否可以在iOS不同系统版本或Android不同系统版本 ...