Maven中Repository和mirror区别

Maven中Repository和mirror的区别是:Maven中的库(repository)可以分为本地库和远程库。本地库在安装Maven的计算机上的指定路径下,本地库中的构件往往是远程库中下载到本地的部分构件,被本地项目所引用。mirror就是镜像,主要提供一个方便地切换远程仓库地址的途径。

Maven中Repository和mirror区别-Worktile社区

repository

Maven中的库(repository)可以分为本地库和远程库。本地库在安装Maven的计算机上的指定路径下(通常是用户主目录下的.m2/repository),本地库中的构件往往是远程库中下载到本地的部分构件,被本地项目所引用。当然,本地项目发布时,默认也发布到本地库中。远程库往往是由第三方提供的,用于发布构件供项目下载使用,如知名的Maven central库。

根据构件的用途,构件可以分为两类,一类是被其他构件依赖的构件(dependencies),这也是Maven库中主要的构件。另一类是插件(plugins),这是一种特殊的构件。对于依赖的构件,其所在的库通过<repositories>设置。但是对于插件的构件,由于插件的特殊性,所以插件库独立于依赖库,使用<pluginRepositories>单独设置。但是由于依赖和插件都属于构件,所以<repositories>和<pluginRepositories>中的设置基本一致。

如果一个项目需要依赖一个构件,Maven编译的时候会首先从本地库查找该构件。如果本地库中没有,再根据配置的远程库信息,逐个去远程库中查找该构件。

如果在远程库中找到则下载到本地库,如果在所有的远程库中都没有则会抛出编译异常。

Maven中要配置库,可以有多种方式。最直接的是在项目中的pom.xml文件中,通过<repositories>配置库,这样配置的库仅适用于当前项目。也可以通过<profiles>中的<repositories>配置在特定环境下的特殊库,这可以在项目的pom.xml文件中实现,也可以在Maven的settings.xml中实现。

mirror

mirror就是镜像,主要提供一个方便地切换远程仓库地址的途径。比如,上班的时候在公司,用电信的网络,连的是电信的仓库。回到家后,是网通的网络,我想连网通的仓库,就可以通过mirror配置,统一把我工程里的仓库地址都改成联通的,而不用到具体工程配置文件里一个一个地改地址。

mirror的配置在.m2/settings.xml里。如:

<mirrors> 

  <mirror> 

    <id>UK</id> 

    <name>UK Central</name> 

    <url>http://uk.maven.org/maven2</url> 

    <mirrorOf>central</mirrorOf> 

  </mirror> 

</mirrors> 

这样的话,就会给上面id为central的远程仓库做了个镜像。以后向central这个仓库发的请求都会发到http://uk.maven.org/maven2而不是http://repo1.maven.org/maven2了。

<mirrorOf>central</mirrorOf>里是要替代的仓库的id。如果填*,就会替代所有仓库。

延伸阅读:

什么是maven?

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

文章标题:Maven中Repository和mirror区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37850

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月12日 下午4:51
下一篇 2023年2月12日 下午4:53

相关推荐

  • 如何在多元化团队中有效实施OKR

    摘要:在多元化团队中有效实施OKR(Objectives and Key Results)主要依赖于明确的目标设置、跨文化沟通技巧和定期的跟进。1、设置包容性和具体的目标;确保团队中的每个成员能够看到他们在目标中的位置和作用。2、优化跨文化沟通;强调开放式对话和反馈,采取适应性的沟通方式以适应不同的…

    2023年12月8日
    35400
  • 螺旋模型的优点和缺点是什么

    螺旋模型的优势包括:1、设计灵活;2、使成本计算变得简单容易;3、客户始终参与每个阶段的开发。4、能与客户有沟通及交互。螺旋模型的缺点包括:1、在风险较大的项目开发中如果未能标识风险,容易造成损失;2、过多的迭代次数会增加开发成本和时间。 螺旋模型的优势: 1、设计上的灵活性,可以在项目的各个阶段进…

    2022年10月17日
    1.7K00
  • 微软devops能做什么

    微软的DevOps工具和服务可助力自动化流程、增强协作、提速软件交付。1、加速代码部署速度2、优化团队合作3、维护软件质量和安全4、提供可持续环境和监测。特别强调的是优化团队合作,微软的DevOps通过整合如Azure DevOps服务和GitHub平台,支撑持续集成和部署(CI/CD),工作项追踪…

    2024年3月26日
    8100
  • PR_AUC和ROC_AUC有什么区别

    PR_AUC和ROC_AUC的区别有:1、概念解释;2、面对不平衡数据的应用;3、应用场景不同;4、敏感性和稳健性。Precision-Recall曲线是以Precision为纵轴,Recall为横轴绘制的曲线。ROC曲线是以False Positive Rate(FPR)为横轴,True Posi…

    2023年7月30日
    70400
  • IDE (集成开发环境) 的编程语言是什么

    不同的技术体系有不同的IDE编程语言。比如Visual Studio .NET可以称为C++、VB、C#等语言的集成开发环境,所以Visual Studio .NET可以叫做IDE。同样,Borland的JBuilder也是一个IDE,它是Java的IDE。Eclipse也是一个IDE,可以用于开发…

    2023年2月23日
    44400
  • 财务管理系统的研发

    财务管理系统研发旨在实现对企业经济活动的有效监控与管理,提高资金使用效率、确保账务准确无误、增强财务透明度、加强风险控制、优化财务决策过程。现代财务管理系统通常依托先进的信息技术,如大数据分析、人工智能及云计算等,以提升系统的综合性能和用户体验。其中,提高资金使用效率,为企业节省成本,通过对财务流程…

    2024年1月9日
    26900
  • 研发产品管理制度

    产品管理制度为确保产品从构想阶段直至市场化的每一个环节均能系统地进行管理,保障产品质量、缩短产品开发周期、优化资源配置。在此制度下,重要的考虑因素包括明确的责任和角色分配、跨部门协作机制、灵活的研发流程。 一、产品管理制度的设立意义 设立产品管理制度对于企业来讲,能够帮助维护团队之间的协同工作,平衡…

    2024年1月10日
    22200
  • 项目管理根本原因分析

    标题:项目管理根本原因分析 摘要:项目管理中的根本原因分析(RCA)致力于查找和解决问题的根本起因,以防止问题的重复出现。项目管理中,顺利的项目交付不仅依赖于执行效率,还取决于在遇到问题时识别并解决根本问题的能力。本文的核心观点包括:项目管理中使用RCA的重要性、RCA方法举例、问题解决过程中的挑战…

    2024年1月8日
    23500
  • MySQL中,什么情况下“全表扫描”要比“索引”效率高

    在以下情况:一、数据表中的数据非常少;二、针对某些查询条件,使用索引的效果并不好;三、索引的选择性不高;四、其他情况。在数据表中,当数据非常少时,使用索引的效率不如全表扫描。这是因为,全表扫描会比索引扫描更快捷。 一、数据表中的数据非常少 在数据表中,当数据非常少时,使用索引的效率不如全表扫描。这是…

    2023年5月29日
    1.0K00
  • 万维网和因特网的区别

    因特网是线路、协议以及通过TCP/IP协议实现数据电子传输的硬件和软件的集合体。万维网则存在于互联网之上,它是无数个网络站点和网页的集合,构成了因特网主要的部分,万维网实际上是多媒体的集合,是由超级连接连接而成的。 常见的一个误解是,人们认为互联网(Internet,也叫因特网)和万维网(World…

    2023年1月31日
    81300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部