前言

在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文件,如log4j.jar,junit.jar等等。每建立一个项目,你都需要建立这样的一个/lib目录,然后复制一对jar文件,这是很明显的重复。重复永远是噩梦的起点,多个项目不共用相同的jar文件,不仅会造成磁盘资源的浪费,也使得版本的一致性管理变得困难。
    那么这个时候呢,maven就来啦。maven是一个项目管理工具。maven中有一个maven仓库放置所有的jar文件。

叙述

Maven仓库就是放置所有JAR文件(WAR,ZIP,POM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依赖JAR,这节省了磁盘资源。此外,由于Maven仓库中所有的JAR都有其自己的坐标,该坐标告诉Maven它的组ID,构件ID,版本,打包方式等等,因此Maven项目可以方便的进行依赖版本管理。你也不在需要提交JAR文件到SCM仓库中,你可以建立一个组织层次的Maven仓库,供所有成员使用。
简言之,Maven仓库能帮助我们管理构件(主要是JAR)。

对于maven来说,maven的仓库分为两类,本地仓库和远程仓库。本地仓库是远程仓库的一个缓冲,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。这样在你下次使用的时候就不需要从远程下载了。如果你所需要的jar包版本在本地仓库没有,而且也不存在于远程仓库,Maven在构建的时候会报错,这种情况可能是有些jar包的新版本没有在Maven仓库中及时更新。
默认仓库的存储位置
    Maven缺省的本地仓库路径为${user.home}/.m2/repository
    安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。
    不过对于初学者在安装配置好maven之后,发现目录下不存在.m2文件夹,其原因是因为没有执行任何maven相关的命令,之后执行之后maven才会自动去创建.m2文件夹。

自定义修改仓库的存储位置
    可改变默认的 .m2 目录下的默认本地存储库文件夹。由于windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。

具体的自定义的本地仓库放到哪里,使用哪个本地仓库,是需要在settings文件中定义的。如下图

有两个位置可能存在settings.xml文件:
用户的安装:$ {user.home} /.m2 / settings.xml

Maven安装:$ {maven.home} /conf/settings.xml
     前者的settings.xml也称为全局设置,后者的settings.xml称为用户设置。如果两个文件都存在,则它们的内容将被合并,并且用户(一般在C盘)特定的settings.xml占主导地位
      提示:如果您需要从头开始创建用户特定设置,那么将全局设置从Maven安装复制到$ {user.home} /.m2目录是最简单的方法。Maven的默认settings.xml是一个包含注释和示例的模板,因此您可以快速调整它以符合您的需求。

小结

maven中的pom文件和仓库的位置都有一个默认的位置,不过自己也可以进行自定义的设置。

【Maven】maven的pom文件的位置相关推荐

  1. maven项目的pom文件中各标签理解

    本文来说下maven项目的pom文件中各标签理解 文章目录 常用标签 常用标签 POM是项目对象模型(Project Object Model)的简称 pom.xml主要描述了项目的maven坐标,该 ...

  2. Maven精选系列--POM文件解析

    转载自 Maven精选系列--POM文件解析 之前有介绍到maven的标准目录结构,也看到了maven的核心配置文件pom.xml文件,今天就解析这个配置文件. maven工程的核心文件就是这个pom ...

  3. idea在克隆Maven项目时pom文件无法识别子模块,依赖导入不进来

    问题:idea在clone项目时,发现子模块的一些maven依赖一直到不进来,然后项目就一直报错 后来发现子模块的pom文件的标识与其他子模块的pom文件的标识不一样,后发现正常下的maven项目的p ...

  4. 关于maven导入工程pom文件报错问题及解决

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 目录 pom文件头报错 pom报错一般性问题 pom文件头报错 1.导入maven文件,经常遇到表头出错问题.报 ...

  5. IntellijIDEA中maven模块中POM文件不生效

    在使用idea的过程中,遇到其中一个maven模块变成灰色的故障(common为正常模块,config为故障模块)如下所示: 正常模块是白色高亮,故障模块为灰色. 会导致的原因 故障模块新增加引用,模 ...

  6. maven项目的pom文件中常用的简单的标签理解

    maven的pom文件一些标签的理解 在本篇文章中,我只是将pom文件中的一些常用的并且比较简单的标签理解标记注释了.还有很多并常用但是也很重要的这里并没有列出.因为本人水平也有限的,所以请谅解. & ...

  7. 快速生成maven项目中pom文件

    由于原项目为web项目,目前需要转换为maven项目,由于项目中存在100+的jar,手动一个个处理很麻烦,使用下方代码可自动生成pom文件. 此代码来源于其他博客,具体博客地址忘了... impor ...

  8. 解决IDEA 在使用maven创建项目pom文件project出错的问题(亲测有效)

    在使用IDEA创建项目的时候,写pom文件project一直报错,一直认为是版本号冲突,clean 重构 都没用,哪怕是重新创建新的项目,project依然出错. 多次确定自己引入依赖没有问题,原因可 ...

  9. Maven项目在pom文件中引入lib下的第三方jar包并打包进去

    场景 Maven中引入依赖的jar包,大都是通过在pom.xml中使用坐标添加依赖的方式. 如果需要引用的jar包在Maven中央仓库下没有,那么怎么在项目中引入. 首先在工程目录下新建libs目录 ...

最新文章

  1. 科普:浅谈 Hellinger Distance
  2. 第4周小组作业:WordCount优化
  3. mathematica实现闭包
  4. [SDOI2015]星际战争
  5. windows live writer向cnblog发布文章设置(转)
  6. java的网络工具netty简介
  7. ORB-SLAM2图像预处理流程概括
  8. 机器视觉行业市场现状及发展前景分析
  9. TensorFlow官方教程翻译:导入数据
  10. webservice服务及客户端 编程 - 入门
  11. 方法的创建、重载及递归调用
  12. Git(1):一个能够快速下载Git.exe的方法
  13. 一级建造师-通信-光电缆检验
  14. HTML中的SEO优化
  15. 1209 实验三同学评论
  16. 微信小程序跳转公众号h5页面
  17. 使用hexo基于cactus仙人掌主题最全美化客制教程
  18. 人工智能 —— 语义网络表示法
  19. B. Sereja and Mirroring
  20. C语言关键字 restrict(一)

热门文章

  1. Matlab统计工具箱
  2. k8s 安装coredns服务
  3. java可以写a手机app吗_‎JAVA程序员自学编程 a l’App Store
  4. 媒体资源广告管理系统
  5. 第十六届中国国际环保展览会6月7日开幕
  6. python求解薛定谔方程_用python学量子力学(1)
  7. 递归遍历ftp文件目录,并生成目录树
  8. 向量范数:1-范数、2-范数、无穷范数;矩阵范数;欧几里得度量
  9. 百度地图聚合物和覆盖物
  10. 正则过滤替换特殊符号