一.本地仓库(Local Repository)

本地仓库就是一个本机的目录,这个目录被用来存储我们项目的所有依赖(插件的jar包还有一些其他的文件),简单的说,当你build一个Maven项目的时候,所有的依赖文件都会放在本地仓库里,仓库供所有项目都可以使用

默认情况下,本地仓库在.m2目录,windows下的话就是你的用户名目录下的.m2目录

1.更新本地仓库目录

找到你的MAVEN_HOME目录下的conf/setting.xml文件,更新localRepository节点

<settings>
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
--> <localRepository>D:/maven/repo</localRepository>

2.保存一下

完成了。新的本地仓库被放在了D:/maven/repo

看一下这个目录

二.中央仓库(central repository)

当我们build一个Maven项目的时候,Maven会检查我们的pom.xml文件,来定义项目的依赖,然后Maven会在本地仓库里查找,如果没有找到,就去maven的中央库去下载,地址是

http://search.maven.org/#browse

看起来是这样的

注意啊,虽然这个是新的中央仓库,但有时候还是会从http://repo1.maven.org/maven/这个旧仓库下载东西,不过不要紧,理解就行了

三.远程仓库(Remote Respository)

在Maven中,当你在pom.xml中生命的依赖既不在本地库,也不在中央库的时候,就会报错。

1.例子

org.jvnet.localizer这个包仅在java.net的仓库里有(以前是,现在中央仓库也有了。但理解就行)

<dependency>
<groupId>org.jvnet.localizer</groupId>
<artifactId>localizer</artifactId>
<version>1.8</version>
</dependency>

当我们build的时候,会失败,并输出未找到错误信息

2.声明java.net仓库

为了告诉Maven从远程仓库里获取依赖,我们需要声明一个远程仓库,在pom.xml里这样写

<repositories>
<repository>
<id>java.net</id>
<url>https://maven.java.net/content/repositories/public/</url>
</repository>
</repositories>

这样,Maven搜索依赖的顺序就是:

1)搜索本地仓库,没有找到,就去第2步,否则退出

2)搜索中央仓库,没有找到,就去第3步,否则退出

3)去java.net远程仓库获取,没有找到,就报错,否则退出

补充:JBoss也有个远程仓库,可以如下配置:

<project ...>
<repositories>
<repository>
<id>JBoss repository</id>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>
</project>

最新文章

  1. canvas第一天
  2. 【Win 10 应用开发】共享目标(UWP)
  3. 转:CentOS, 找不到dump命令:command not found
  4. Servlet,GenericServlet和HttpServlet的继承关系
  5. iOS xib中TableView创建的2种模式
  6. lower power的physical library
  7. CSS3:不可思议的border属性&amp;Web字体图标Font Awesome
  8. WCF分布式开发步步为赢(2)自定义托管宿主WCF解决方案开发配置过程详解
  9. Hansight
  10. MVC每层的职责
  11. python-继承类执行的流程
  12. CodeForces731-C.Socks-并查集
  13. Ubuntu硬盘空间清理
  14. PLSQL设置细节
  15. MySQL常见报错汇总
  16. mq for aix 清理步骤
  17. CSS 小技巧
  18. jquery 获取表单的用户输入值的方法
  19. 日志收集之--将Kafka数据导入elasticsearch
  20. 替换{0}为指定的字符串(MessageFormat)

热门文章

  1. Huawei设备配置系统时钟
  2. HTML中常用的部分标签(一)
  3. sql-server 2005数据库文件恢复(检測到基于一致性的逻辑 I/O 错误)
  4. POJ2823 Sliding Window【双端队列】
  5. Lua 是一个小巧的脚本语言
  6. js中的this详解
  7. 值得学习的html知识
  8. Kinect 开发 —— 骨骼追踪进阶(上)
  9. fc---输出历史命令列表
  10. 软考之路--从生活着手,看PV怎样操作