6、Maven仓库
- 在Maven的术语中,仓库是一个位置(place),例如目录,可以存储所有的工程.jar文件,library jar文件,插件或者任何其他的工程指定的文件
- Maven仓库有三种类型
- 本地(local)
- 中央(central)
- 远程(remote)
- 本地仓库
- maven本地仓库是机器上的一个文件夹,它在你第一次运行任何的maven的命令的时候创建
- Maven本地仓库保存你的工程的所有的依赖(library jar,plugin jar等),当你第一次运行maven的时候,Maven会自动下载所有依赖的jar文件到本地仓库中,它避免了每次构建的时候都引用存放在远程机器上的依赖文件。
- Maven本地仓库默认被创建在%USER_HOME%目录下,要修改此位置,在%M2_HOME%/conf目录中的Maven的setting.xml文件中定义一个路径
- 当再次运行maven命令的时候,Maven将会下载所依赖的文件到你的指定的路径当中
- 中央仓库
- Maven中央仓库是有Maven的社区提供者提供的仓库,其中包含了大量的常用的库
- 中央仓库的概念如下
- 这个仓库由Maven社区提供,
- 不需要配置
- 需要通过网络才可以访问
- 要浏览中央仓库的内容,maven社区提供了一个URL(http://search.maven.org/#browse ),使用这个仓库,开发人员可以搜素所有的可以获取的代码库
- 远程仓库
- 如果Maven在中央仓库中也找不到依赖的库文件,它会停止构建过程并且输出错误信息到控制台,为了避免这种情况的发生,Maven提供了远程仓库的概念,它是开发人员可以自己定制的仓库,包含了所需要的代码库或者其他工程中用到的jar文件。
- 举例说明
- 使用下面的pom.xml文件,Maven将会从远程仓库下载该pom.xml中声明的所依赖的文件(在中央仓库中找不到的文件)
- Maven依赖搜索的顺序
- 当我们执行Maven构建命令的时候,Maven开始按照一下的顺序查找依赖的库
- 在本地仓库中搜索,如果找不到,执行步骤二,如果找到了则执行其他操作
- 在中央仓库中搜索,如果找不到,并且有一个或者多个远程仓库已经设置好,则执行步骤四,如果找到了则下载到本地仓库中已被将来引用,
- 如果远程仓库没有被配置,Maven将简单的停滞处理并抛出异常(无法找到依赖文件)
- 在一个或者多个远程仓库中搜索所依赖的文件,如果找到则下载到本地的仓库已被将来引用,否则maven将停止处理并抛出错误(无法找到依赖的文件)
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>C:/MyLocalRepository</localRepository>
</settings>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.companyname.projectgroup</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>com.companyname.common-lib</groupId>
<artifactId>common-lib</artifactId>
<version>1.0.0</version>
</dependency>
<dependencies>
<repositories>
<repository>
<id>companyname.lib1</id>
<url>http://download.companyname.org/maven2/lib1</url>
</repository>
<repository>
<id>companyname.lib2</id>
<url>http://download.companyname.org/maven2/lib2</url>
</repository>
</repositories>
</project>
6、Maven仓库的更多相关文章
- 转:aliyun阿里云Maven仓库地址——加速你的maven构建
maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度提升100倍. http://maven.aliyun.com/nexus/#view-reposito ...
- aliyun阿里云Maven仓库地址——加速你的maven构建
maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度提升100倍. http://maven.aliyun.com/nexus/#view-reposito ...
- maven仓库信息分析站点推荐
maven是java的一个依赖,打包管理的工具,稍微大一点的java项目都需要使用maven. 随着java的壮大,maven仓库越来越大,仓库中的jar包有60多万,各种group,各种构件,各种版 ...
- 国内好用的maven仓库,添加到本地nexus中
速度快的maven仓库真的难找,国外网站很多被封了.前天在网上找,有人说阿里有个公开的,速度很快.确实很快! 我添加到本地nexus中,结果不能更新索引,我是这么添加的,如下: 这个地址在浏览器中能够 ...
- Maven最佳实践:Maven仓库(转)
转自:http://juvenshun.iteye.com/blog/359256 什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/li ...
- maven仓库使用
maven镜像仓库 1.国内maven镜像仓库 阿里云镜像 <mirrors> <mirror> <id>aliyun</id> <name> ...
- maven 仓库地址:
maven 仓库地址: 共有的仓库 http://repo1.maven.org/maven2/http://repository.jboss.com/maven2/ http://repositor ...
- 配置maven仓库
1.安装完,配置好环境变量 mvn -v 检查是否成功 mvn install 会将项目生成的构件安装到本地maven仓库 2.settings.xml文件配置: 1)修改本地仓库位置 maven_h ...
- 收集的maven 仓库地址(maven repository)
maven 仓库地址: 共有的仓库http://repo1.maven.org/maven2/http://repository.jboss.com/maven2/http://repository. ...
- maven仓库介绍《本地仓库、远程仓库》
在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件.Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方)任何的构件 ...
随机推荐
- 页面回显与URL模板映射
一.页面回显 对于需要返回界面的数据,可以将后台封装好的数据回显至原始jsp界面中. 举个例子: User.java package com.zk.data; public class User { ...
- 转载:android audio flinger
https://blog.csdn.net/innost/article/details/6142812 https://blog.csdn.net/zyuanyun/article/details/ ...
- js获取当前页面的url网址信息
设置或获取整个 URL 为字符串: window.location.href 获取内容:http://10.100.0.8:7000/SVP/ "window.location.href&q ...
- pyodbc 一些内容
如果表格里是空的,读出来是会变为None,所以用是否等于None来判断内容是否为空.
- vue.js + element中el-select实现拼音匹配,分词、缩写、多音字匹配能力
1.既然要用到拼音搜索,我们就需要一个拼音库,在这里我推荐一个第三方包:https://github.com/xmflswood/pinyin-match,在这里首先对这个包的开发者表示万分的感谢. ...
- vue图书小案例
小知识点: vue中计算属性有缓存(对象属性变化时才会更新),方法没有缓存,所以计算属性比方法效率高js中let有块级作用域,var没有块级作用域,所以var是有缺陷的this.letters[0] ...
- umi ui 构建时出现 spawn sh ENOENT 报错的解决方法
在使用umi可视化界面构建项目的时候,如果出现spawn sh ENOENT错误,一般都是由于环境变量里没有设置git的环境变量导致的.在环境变量的path里加上"C:\Program Fi ...
- Java-POJ1010-STAMP
说良心话,题目不难,但是题目真的很不好懂,解读一下吧 题意: 读入分两行,第一行为邮票面额(面额相同也视为种类不同)以0结束,第二行为顾客要求的面额,以0结束 要求:每个顾客最多拿4张邮票,并求最优解 ...
- optm.adam
optm.adam 待办 https://www.cnblogs.com/dylancao/p/9878978.html 这个优化包 理解求导过程,来理解神经网络.
- vue中mixins的理解及应用
vue中mixins的理解及应用 vue中提供了一种混合机制--mixins,用来更高效的实现组件内容的复用.最开始我一度认为这个和组件好像没啥区别..后来发现错了.下面我们来看看mixins和普通情 ...