第一次使用IDEA创建maven项目,会要求我们进行相关配置,如下图界面:
Maven仓库是项目中依赖的第三方包的位置。在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。而Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。
Maven仓库有三种类型,访问顺序的先后如下所示:
- 本地(local)
- 中央(central)
- 远程(remote)
在maven安装目录下的conf文件夹中,找到settings.xml文件,可以看到其中默认给我们定义了本地仓库的位置:
我们取消这部分的注释,然后添加一个新的空文件夹地址作为本地仓库地址就好了,当然最好在修改配置文件前将原先的settings.xml文件备份一下。
最底下一个选项Use settings from .mvn/maven.config,这里直接勾选即可,意思是:
mvn (directory): 位于项目的顶级目录中,文件maven.config、jvm.config和extensions.xml包含运行 Maven 的项目特定配置。这个目录应该是项目的一部分,需要被版本管理工具管理
上述操作完成后,再使用mvn compile命令,可以发现,会重新下载相应的包到我们设定的新本地仓库中,然后完成编译。
如果在IDEA软件中依然发现依赖未被加载的报错,可以点击最右侧的maven工具,右键项目选择reload操作即可。
远程仓库的意义
当Maven在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven 提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的jar文件,一般是公司内部定义的远程仓库。
maven mirror的使用
mirror相当于一个拦截器,能够拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。可以使用腾讯或阿里的mirror解决访问慢的问题