Maven仓库
1 Maven仓库概述
在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。
Maven 在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。
仓库就是存放依赖和插件的地方,任何的构件都有唯一的坐标,Maven 根据这个坐标定义了构件在仓库中的唯一存储路径。
2 Maven仓库分类
Maven 仓库分为两大类:本地仓库和远程仓库,本地仓库顾名思义,就是 Maven 在本地存储构件的地方,远程仓库又可以大致分为以下三类:
中央仓库:这是 Maven 核心自带的远程仓库,它包含了绝大部分开源的构件。
公开仓库:公开的远程仓库,常见的有 Java.net Maven 库、JBoss Maven、阿里云 Maven库等。
私服:私服类似于本地的YUM仓库,一般是为了节省带宽和打包时间,在企业局域网内架设的一个私有仓库服务器(如 nexus)。
默认配置下,Maven 根据坐标寻找构件的时候,首先他会查看本地仓库,如果本地仓库存在,则直接使用;如果本地仓库不存在,则 Maven 就会去远程仓库查找,存在则先下载到本地仓库使用,不存在 Maven 就会报错。
3 Maven仓库配置
3.1 配置本地仓库
maven 的本地仓库,在安装 maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。
maven 本地仓库的默认位置:无论是 Windows 还是 Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是 Maven 仓库的默认位置。
[root@jenkins hello-world]# ls -a /root/.m2
. .. repository
默认的仓库位置可以修改。
进入maven 安装目录/conf/settings.xml 进行重新指定仓库位置,使以后依赖下载到这个文件夹当中(习惯修改前备份一份)
[root@jenkins ~]# cd /usr/local/maven/conf
[root@jenkins conf]# vim settings.xml
由于settings.xml文件代码较多,大家把下边本地仓库配置复制到图片指定位置:
<!-- 配置本地仓库 -->
<localRepository>/usr/local/maven/repository</localRepository>
仓库目录不需要提前创建,在执行mvn package时自动生成。
3.2 配置阿里仓库
将阿里仓库配置复制到图片指定位置:
<!-- 配置阿里仓库 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
目前国内公认最好用的maven仓库就是阿里提供的了,阿里云在2016年08月上线Maven仓库,官方地址:http://maven.aliyun.com。
保存后再次回到hello-world目录中进行打包并观察依赖的下载地址:
#先执行清理在打包
[root@jenkins hello-world]# mvn clean
[root@jenkins hello-world]# mvn package
评论区