1. 概述
在这个教程中,我们将关注Maven在本地存储所有本地依赖的位置,即Maven本地仓库。
简单来说,当我们运行Maven构建时,项目所需的库(jar、插件jar和其他构件)都会被存储在本地供后续使用。
同时要记住,除了这种类型的本地仓库,Maven支持三种类型的仓库:
- 本地 - 在开发机器上的文件夹位置
- 中央 - 由Maven社区提供的仓库
- 远程 - 组织拥有的自定义仓库
现在,我们来关注本地仓库。
2. 本地仓库
Maven的本地仓库是本地机器上一个目录,用于存储所有项目构件。
当我们执行Maven构建时,Maven会自动将所有依赖的jar下载到本地仓库。通常,这个目录名为*.m2
。
以下是基于操作系统的默认本地仓库位置:
- Windows:
%USERPROFILE%\.m2\repository
- MacOS:
~/.m2/repository
- Linux:
~/.m2/repository
对于Linux和Mac,我们可以简写为:
-
~/.m2/repository
*3. settings.xml中的自定义本地仓库*
如果找不到默认位置的仓库,可能是因为之前有了一些配置。
这个配置文件位于Maven安装目录下的conf
文件夹中,名为settings.xml
。
以下是决定缺失本地仓库位置的相关配置:
<localRepository>${user.home}/.m2/repository</localRepository>
这就是我们如何更改本地仓库的位置。当然,如果我们更改了位置,就不再能在默认位置找到仓库。
之前存储在旧位置的文件不会自动移动。
4. 通过命令行传递本地仓库位置
除了在Maven的settings.xml
中设置自定义本地仓库,mvn
命令支持maven.repo.local
属性,允许我们作为命令行参数传递本地仓库位置:
mvn -Dmaven.repo.local=/path/to/custom/local/repo
这样,我们就无需修改Maven的settings.xml
。
5. 总结
在这篇简短的文章中,我们了解了Maven本地仓库的默认设置。
我们还讨论了如何告诉Maven使用自定义的本地仓库位置。