maven:仓库详解及配置

1.什么是仓库

在maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。

maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。

任何构件都有唯一的坐标。这个坐标定义了构件在仓库中唯一的存放路径。

2.坐标是如何成为路径的?

举例如下图依赖:

<dependency>
	<groupId>net.sf.json-lib</groupId>
	<artifactId>json-lib</artifactId>
	<version>2.4</version>
	<classifier>jdk15</classifier>
</dependency>

那么在仓库里路径解析如下:

1.基于groupId的准备路径,将句点分隔符转换成路径分隔符。/net/sf/json-lib

2.将artifactId拼接到后面。/net/sf/json-lib/json-lib

3.将version拼接到后面。/net/sf/json-lib/json-lib/2.4

自此,目录是结束了。接下是具体的文件。

4.将aftifactId和version以分隔符连接到后面。/net/sf/json-lib/json-lib/2.4/json-lib-2.4

5.判断是否有classifier,如果有,在第四项后加上分隔符再加上classifier。/net/sf/json-lib/json-lib/2.4/json-lib-2.4-jdk15

6.加上句点和文件格式的扩展名。扩展名是由package决定的,一般是jar和war。/net/sf/json-lib/json-lib/2.4/json-lib-2.4-jdk15.jar

来看下实际仓库中位置

非常完美。 

3.仓库分类

1.本地仓库

2.远程仓库:远程仓库又分为中央仓库、私服、其他公共库。

4.本地仓库配置

maven本地仓库默认都是在用户目录下.m2/repostitory/这里的。安装后不会创建,而是在第一次执行mvn命令时才会创建。

这么诡异的位置,实在是没有心情。那么如何自定义位置呢?

这里需要引入一个新的元素localRespository,存放于maven的settings.xml里

在%M2_HOME%/conf/settings.xml里

<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
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository  -->
  <localRepository>C:\Users\Administrator\Desktop\MyRepository</localRepository>

这里本来是注释掉的。打开注释后,改成自己的路径即可。但这个是全局级别的,也就是说本机器所有的用户的仓库路径到这里。如果想要用户级别的。那么把这个settings.xml复制到在${user.home}/.m2/下再去修改localRespository就是用户级别的。

5.https://www.cnblogs.com/duanxz/p/5210189.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值