maven .m2 & settings.xml & local repository之间的故事

1,685 阅读2分钟

.m2 文件夹

.m2 文件夹的来源

你在本机上一旦运行了maven命令,就会在本地${user.name}/.m2 路径下创建一个文件夹,例如我mac电脑的路径就是/Users/apple/.m2 (apple是我电脑的用户名), 这就说明该文件夹内是针对电脑的登录用户的, 如果是不同的用户就拥有不同的.m2文件夹

.m2 文件夹的内容

可能存在的文件有两个 1.settings.xml文件(默认不存在,属于用户级别的maven配置) 2. repository文件夹(maven拉取的依赖在本地的存储路径默认是在这里,如果配置了localRepository属性的话,就在配置的文件目录下)

settings.xml 文件

settings.xml 文件在本地装maven的时候 会存在于maven目录下的conf文件夹内的,这个属于本机器maven的全局配置 如果你在.m2文件夹下 新建了settingx.xml文件,那么该文件的优先级是高于maven conf下的配置的 两个地方的settingx.xml文件默认会合并生效

local repository

如果设置maven本地本地仓库

如果需要指定本地maven仓库的位置 通过在settings.xml中加上 D:\Eclipse\jars\maven 推荐在.m2 下的settings.xml进行修改

本地仓库设置有误带来的后果

在windows下修改该位置可以使依赖不存在C盘,但是mac系统下,真的没必要修改这个配置,特别是Mac配置时 如果写的是相对路径 那么会创建下idea应用下,根本就没法被通过路径使用. 你启动maven项目时就会出现classNotFoundeException, 因为相关的maven依赖无法被访问到. 在idea查看项目maven管理的依赖存在的位置Fiel -> Project Structure

idea 如何选择maven 如何指定settings.xml 和本地仓库