Maven入门指南:仓库
1 . 仓库简介
没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的文件副本就多了,占用磁盘空间,且难于管理。Maven 使用一个称之为仓库的目录,根据构件的坐标统一存储这些构件的唯一副本,在项目中通过依赖声明,可以方便的引用构件。
2 . 仓库的布局
构件都有唯一的坐标,Maven 根据坐标管理构件的存储。如以下对 spring-orm-3.2.0 的存储:

文件路径对应了:groupId/artifactId/version/artifactId-version.packaging
3 . 仓库的分类
Maven 仓库分为本地仓库和远程仓库,寻找构件时,首先从本地仓库找,找不到则到远程仓库找,再找不到就报错;在远程仓库中找到了,就下载到本地仓库再使用。中央仓库是 Maven 核心自带的远程仓库,默认地址:http://repo1.maven.org/maven2。除了中央仓库,还有其它很多公共的远程仓库。私服是架设在本机或局域网中的一种特殊的远程仓库,通过私服可以方便的管理其它所有的外部远程仓库。

3 . 1 . 本地仓库
Maven 本地仓库默认地址为:${user.home}/.m2/repository。

通过修改 %MAVEN_HOME%/conf/settings.xml (或者:${user.home}/.m2/settings.xml,针对当前用户(推荐))配置文件可以更改本地仓库的位置。

3 . 2 . 中央仓库
安装完 Maven ,本地仓库几乎是空的,这时需要从远程仓库下载所需构件。Maven 配置了一个默认的远程仓库,即中央仓库,找到 %MAVEN_HOME%/lib/maven-model-builder-3.2.1.jar,打开 org/apache/maven/model/pom-4.0.0.xml 超级POM:

3 . 3 . 在项目中添加其他远程仓库
当中央仓库找不到所需的构件时,我们可以配置 pom.xml ,添加其它的远程仓库。

<repositories>
<repository>
<id>Sonatype</id>
<name>Sonatype Repository</name>
<url>http://repository.sonatype.org/content/groups/public/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>

其中 id 必须唯一,若不唯一,如设置为 central 将覆盖中央仓库的配置。
3 . 4 . 镜像仓库
镜像仓库可以理解为仓库的副本,从仓库中可以找到的构件,从镜像仓库中也可以找到。比如针对中央仓库 http://repo1.maven.org/maven2 ,在中国有它的镜像仓库,这样我们直接访问镜像仓库,更快更稳定。

<settings>
...
<mirrors>
<mirror>
<id>maven.net.cn</id>
<name>central mirror in china</name>
<url>http://maven.net.cn/content/groups/public</url>
<mirrorOf>central</mirrorOf> <!--表明为central中央仓库配置镜像仓库-->
</mirror>
</mirrors>
...
</settings>

其中,<mirrorOf> 指明了为哪个仓库配置镜像,可以使用通配符如:<mirrorOf>*</mirrorOf>,或者 <mirrorOf>repo1,repo2</mirrorOf> 等进行匹配。一旦配置了镜像,所有针对原仓库的访问将转到镜像仓库的访问,原仓库将不再能直接访问,即使镜像仓库不稳定或停用。在搭建私服的时候,我们通常为所有仓库设置镜像为私服地址,通过私服对所有仓库进行统一管理。
3 . 5 . 常用的仓库搜索地址
原文地址:https://www.cnblogs.com/luotaoyeah/p/3785044.html
</div>
Maven入门指南:仓库的更多相关文章
- Maven 入门指南
为什么要用 Maven? Maven 主要帮助用户完成以下 3 个方面的工作: 生命周期管理,便捷的构建过程: 依赖管理,方便引入所需依赖 Jar 包: 仓库管理,提供统一管理所有 Jar 包的工具: ...
- Maven入门指南
Maven入门指南 本指南旨在第一次为使用Maven的人员提供参考,但也打算作为一本包含公共用例的独立参考和解决方案的工具书.对于新用户,建议您按顺序浏览该材料.对于更熟悉Maven的用户,本指南致力 ...
- Maven入门指南④:仓库
1 . 仓库简介 没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的文件副本就多了,占用磁盘空间,且难于管理.Maven 使用一个称之为仓库的目录,根据构 ...
- Maven入门指南⑤:使用Nexus搭建Maven私服
1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...
- Maven入门指南⑦:Maven的生命周期和插件
一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周期是抽象的,其中的具体任务都交由插件来完成.Mav ...
- Maven入门指南⑥:将项目发布到私服
1 . 修改私服中仓库的部署策略 Release版本的项目应该发布到Releases仓库中,对应的,Snapshot版本应该发布到Snapshots仓库中.Maven根据pom.xml文件中版本号&l ...
- Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开pom.xml文件,添加如下内容: <project xmlns="http://maven.apa ...
- Maven入门指南(一)
Maven介绍: Maven是一个强大的Java项目构建工具. 什么是构建工具? 构建工具是将软件项目构建相关的过程自动化的工具.构建一个软件项目通常包含以下一个或多个过程: 生成源码(如果项目使用自 ...
- Maven入门指南(一)—— Maven下载与安装
Maven下载与安装 1.下载1)Maven的系统要求: Maven对内存和操作系统没有要求 Maven安装本身仅需大约10MB,本地仓库视使用情况有所不同 Maven3.3及以上版本需要JDK1.7 ...
随机推荐
- jeecms jeecmsv93建库
create tablespace jeecms93 datafile 'jeecms93.dbf' size 100M reuse autoextend on next 50M;1. 2.drop ...
- HTTP协议基础篇(帮助理解)
用uml 来描述一个功能是怎样按照时间的顺序完成的 实际的需求(配置网站/配置虚拟主机) 步骤 (1) 打开 apache/conf/httpd.conf 文件 (2)找到hosts文件 c:/win ...
- deployment资源
目的:用rc在滚动升级之后,会造成服务访问中孤单,于是k8s引入了deploymentziyuan 创建deployment vim k8s_deploy.yml apiVersion: extens ...
- P1020 导弹拦截 /// DP Dilworth定理 LIS、LDS优化
题目大意: https://www.luogu.org/problemnew/show/P1020 Dliworth有两个互相对偶的定理:U的链划分使用的最少集合数,等于它的最大反链长度.(1)U的反 ...
- BezierCode 工具使用
概要 今天无意间看到一个视频,发现了一款绘画Bezier 图形绘制并自动生成OC代码的神器, 因此马上先记录下. 之前一直很纠结如果程序员自己去绘制图片,久那么使用bezier 自己去画吗? 答案是: ...
- 将本地数据库迁移到云端RDS数据库
- 【daydayup】ceshuChat
时时当勉励,岁月不待人.珍惜时间伐~ 先看看项目运行的效果 这个是在本地环境打开了两个8080端口进行模拟运行的. 先放下作者的开源地址:https://github.com/ceshu/ceshuC ...
- python csv write 乱码
参考 : https://www.zhihu.com/question/34201726 1.使用utf_8_sig with open('d:/file.csv', 'w', encoding='u ...
- Java虚拟机笔记
Java内存区域划分 1.程序计数器 线程私有,当前线程执行的行号指示器,指向当前线程执行的虚拟机字节码地址,线程的恢复,跳转等都需要用到它 2.Java虚拟机栈 线程私有,虚拟机栈描述的是Java内 ...
- jmeter做bbs作业时提示404错误
在用jemter做bbs作业时候,注册成功后会跳转到主页,在写主页的脚本的时候,将fiddler抓到的url复制到路径下方“/bbs/forum.php”,但是第一次复制的时候在/bbs/forum. ...


