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

 更新时间:2018年10月22日 10:38:41   作者:李学凯  
今天小编就为大家分享一篇关于Maven本地仓库的配置以及修改默认.m2仓库位置的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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

默认仓库的存储位置

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

具体如下图

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

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

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

具体就是修改如下的Xml代码 

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

你也可以自己如下测试:

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

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

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

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

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

一般默认配置是这样的:

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

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

如下:

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • java如何实现post请求webservice服务端

    java如何实现post请求webservice服务端

    这篇文章主要介绍了java如何实现post请求webservice服务端,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Spring Boot中WebMvcConfig配置详解及示例代码

    Spring Boot中WebMvcConfig配置详解及示例代码

    WebMvcConfig是一个配置类,它继承了WebMvcConfigurationSupport,允许我们对SpringMVC进行更细粒度的控制,这篇文章主要给大家介绍了关于Spring Boot中WebMvcConfig配置详解及示例的相关资料,需要的朋友可以参考下
    2024-03-03
  • java判断Long类型的方法和实例代码

    java判断Long类型的方法和实例代码

    在本篇文章里小编给大家整理的是关于java判断Long类型的方法和实例代码,对此有需要的朋友们跟着学习参考下。
    2020-02-02
  • @Autowired自动装配接口时存在多个实现的处理过程

    @Autowired自动装配接口时存在多个实现的处理过程

    文章介绍了在Spring中@Autowired自动装配接口如果存在多个实现类时的注入问题,建议通过@Resource或@Qualifier注解按名称指定注入,避免编译报错,并分享了个人实践经验
    2025-10-10
  • 通过实例解析Java分布式锁三种实现方法

    通过实例解析Java分布式锁三种实现方法

    这篇文章主要介绍了通过实例解析Java分布式锁三种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • SpringBoot+Vue 前后端接口交互的项目实践

    SpringBoot+Vue 前后端接口交互的项目实践

    Spring Boot和Vue可以实现高效、安全的前后端接口交互,实际开发中应根据项目需求选择合适的传参方式、安全策略和性能优化方案,具有一定的感兴趣的可以了解一下
    2025-07-07
  • java反射_改变private中的变量及方法的简单实例

    java反射_改变private中的变量及方法的简单实例

    下面小编就为大家带来一篇java反射_改变private中的变量及方法的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • MyBatis如何调用存储过程与存储函数

    MyBatis如何调用存储过程与存储函数

    这篇文章主要介绍了MyBatis如何调用存储过程与存储函数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 玩转SpringBoot2快速整合拦截器的方法

    玩转SpringBoot2快速整合拦截器的方法

    这篇文章主要介绍了玩转SpringBoot2快速整合拦截器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • DTD验证xml格式的三种方式详解

    DTD验证xml格式的三种方式详解

    这篇文章主要介绍了DTD验证xml格式的三种方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10

最新评论