Maven中的<repositories>标签

1.认识Maven仓库

Maven是管理项目依赖的工具,Maven仓库存储着所有依赖的jar文件,每个jar文件都有其对应的坐标(组id,构件id,版本号).运行Maven的时候,Maven所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。

2.Maven仓库的分类

1.本地仓库
2.远程仓库(联网)
3.Maven私服(公司局域网)

3.原始的Maven仓库

一个原始的Maven就带了一个远程仓库,在3.xxx版本后,其位置在maven安装目录下的:/lib/maven-model-builder-${version}.jar
在idea中打开后,找到位置:\org\apache\maven\model\pom-4.0.0.xml,这个就是所有Maven POM的父POM,所有Maven项目继承该配置

    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
  • 注:仓库一般分为release库和snapshot库,release库存放正式版本,snapshot库存放快照版本.两者的区别:从远程仓库拉取的release版本依赖,如果远程仓库的该依赖版本升级,并且依赖的名称没有更改,那么本地项目的依赖就无法更新,比如Junit-4.10.jar,如果远程仓库版本升级,如果还采用Junit-4.10.jar名称,那么本地项目的依赖就无法更新,只有升级为Junit-4.11.jar,才会更新.
    snapshot版本依赖每次都会去远程仓库中检查该依赖是否更新,即使名称一样也会去检查,如果有更新则下载到本地仓库.推荐禁止从公共仓库下载snapshot构件,因为这些构件不稳定且不受控制,避免使用.

4.pom.xml中配置多个远程仓库

项目所需的依赖,可能不在中央仓库中,可能只存在于某个特定的公共仓库,这时就需要配置多个远程仓库了.比如:

 	<repository>
 		<id>aliyun</id>
 		<name>aliyun Repository</name>
 		<url>http://maven.aliyun.com/nexus/content/groups/public</url>
 		<snapshots>
 			<enabled>false</enabled>
 		</snapshots>
 	</repository>
 	<repository>
 		<id>jeecg</id>
 		<name>jeecg Repository</name>
 		<url>http://maven.jeecg.org/nexus/content/repositories/jeecg</url>
 		<snapshots>
 			<enabled>false</enabled>
 		</snapshots>
 	</repository>
 </repositories>

5.settings.xml中配置镜像

从中央仓库拉取依赖慢,可以通过镜像覆盖central配置,settings.xml路径:Maven\apache-maven-3.3.9\conf
配置central中央仓库的镜像(mirrorOf标签内是什么就是什么的镜像,可以使用通配符*代替所有仓库):

        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
     </mirror>
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值