maven 本地仓库的配置以及如何修改默认.m2仓库位置

maven 本地仓库的配置以及如何修改默认.m2仓库位置本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。这样在你下次使用的时候就不需要从远程下载了。如果你所需要的jar包版本在本地仓库没有,而且也不存在于远程仓库,Maven在构建的时候会报错,这种情况可能是有些jar包的新版本没有在Maven仓库中及时更新。(感觉和网络里面的路由器有点像,你发请求,先在…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。这样在你下次使用的时候就不需要从远程下载了。如果你所需要的jar包版本在本地仓库没有,而且也不存在于远程仓库,Maven在构建的时候会报错,这种情况可能是有些jar包的新版本没有在Maven仓库中及时更新。 (感觉和网络里面的路由器有点像,你发请求,先在路由器缓存中找,若有就返回;没有,再去服务器下载新的再返回给用户的同时更新路由器本地缓存。)

默认仓库的存储位置

Maven缺省的本地仓库路径为${user.home}/.m2/repository
具体如下图

maven 本地仓库的配置以及如何修改默认.m2仓库位置

自定义修改仓库的存储位置:

可改变默认的 .m2 目录下的默认本地存储库文件夹
通过修改${user.home}/.m2/settings.xml 配置本地仓库路径 ,没有settings这个xml文件就新建,或者如下复制个;具体看图:

maven 本地仓库的配置以及如何修改默认.m2仓库位置

模板里面的配置项都是没有修改的。就是个空白的文件,你直接修改如下图所示,就可以。简单易懂,

maven 本地仓库的配置以及如何修改默认.m2仓库位置

具体就是修改如下的Xml代码 
<settings>   
  <localRepository>自己仓库的存放目录,我的仓库已经移动到e盘了,具体看上面的那个图的箭头所指的位置</localRepository>   
</settings> 

你也可以自己如下测试:

先备份自己的仓库文件即.m2目录下的repository文件夹,然后把这个文件夹移动到其他地方,直接在c盘移动快(这个只为测试啦,要是测试OK,肯定移动到c盘之外的其他盘),因为仅仅是重写了个目录指针而已,文件实际没动。

再看自己的maven项目,发现所有的spring 框架相关的引入包和一些其他包都报错了,那就说明,你项目用的就是这里的包。

然后再新建settings.xml文件,修改你的对应目录,完之后再看你的项目,发现原来的报错就消失了。当然,编辑器得有个重新建索引的时间。

我用的是intelliJ idea,他自动建完索引之后,项目就又OK啦。

如下图,看到在 intelliJ idea 编辑器里面对maven进行配置。

一般默认配置是这样的:

maven 本地仓库的配置以及如何修改默认.m2仓库位置

这样的话,你就修改他默认位置的setting.xml文件,就可以修改,本地仓库的地址啦

看到后面有override这个词,那么这个也是可以设置的。

如下:

maven 本地仓库的配置以及如何修改默认.m2仓库位置

这样,你就可以随意配置自己的本地仓库,你的仓库就可以有多个,不会因为有多个项目,比如一个是公司的项目,一个是你自己新建的项目,而他们都使用一个本地仓库而烦恼,这样子,你就可以 给各自的项目配置一个本地仓库使用啦。

 

吃水不忘挖井人,时刻想念发帖人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190066.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在非Activity中使用startActivityForResult

    在非Activity中使用startActivityForResult在开发过程中有时会有需要在非activity中,跳转到另一个activity中,再携带某些值回到先前的页面,我们在很多地方可以拿到context,但这个时候想使用startActivityForResult时却发现无法调用,因为这个方法是Activity下的,而非Context下,这个时候只需要强转一下即可,将获取到的context转成activity就可以使用这个方法了,在我的…

    2022年7月27日
    9
  • JSONArray转list实体类[通俗易懂]

    JSONArray转list实体类[通俗易懂]List<实体类>dataArr=JSONArray.parseArray(result,实体类.class);

    2022年6月23日
    98
  • Eclipse导入Github上的Robotium源码进行代码分析的步骤

    Eclipse导入Github上的Robotium源码进行代码分析的步骤这篇文章应该只是针对像我这样的初级Maven用户的,因为自己花了不少时间来解决这个问题,而网上很多文章描述的也是语焉不详,所以记录下来以便后来如我者可以借鉴一二。文中有几点细节我觉得需要注意的我会高亮出来。1.问题描述今天打算查看一下Robotum(其项目本身基于maven,因为我发现项目中有pom.xml文件)框架的源代码去了解其具体实现以加深理解,但下载后按照认知的方法去Import

    2022年7月25日
    12
  • MySQL数据库建表语句

    MySQL数据库建表语句**建立一个叫student的表**CREATETABLE`student`(**id为int类型设置不能为空值**`id`INTNOTNULLauto_incrementprimarykeyCOMMENT’学生id’,`name`VARCHAR(16)NOTNULLCOMMENT’学生姓名’,`sex`CHAR(1)DEFAULT’男’COMMENT’性别’…

    2025年10月8日
    4
  • python之—面向对象

    python之—面向对象

    2021年6月11日
    85
  • mongodb介绍

    mongodb介绍mongodb介绍

    2022年4月24日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号