您的位置:首页 > 本地本地

怎么关闭maven自动从远程仓库

admin2024-05-15人已围观

运行Maven的时候,Maven所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。比如说,你的项目配置了junit-3.8的依赖,在你运行mvntest的时候,Maven需要使用junit-3.8的jar文件,它首先根据坐标查找本地仓库,如果找到,就直接使用。如果没有,Maven会检查可用的远程仓库配置,然后逐个尝试这些远程仓库去下载junit-3.8的jar文件,如果远程仓库存在该文件,Maven会将其下载到本地仓库中,继而使用。如果尝试过所有远程仓库之后,Maven还是没能够下载到该文件,它就会报错。Maven缺省的本地仓库地址为${user.home}/.m2/repository。也就是说,一个用户会对应的拥有一个本地仓库。你也可以自定义本地仓库的位置,修改${user.home}/.m2/settings.xml:D:\java\repository你还可以在运行时指定本地仓库位置:mvncleaninstall-Dmaven.repo.local=/home/juven/myrepo/还有一点需要理解的是,当我们运行install的时候,Maven实际上是将项目生成的构件安装到了本地仓库,也就是说,只有install了之后,其它项目才能使用此项目生成的构件。了解了本地仓库,接着了解一下Maven缺省的远程仓库,即Maven中央仓库。安装好Maven之后,我们可以建立一个简单的项目,配置一些简单的依赖,然后运行mvncleaninstall,项目就构建好了。我们没有手工的去下载任何jar文件,这一切都是因为Maven中央仓库的存在,当Maven在本地仓库找不到需要的jar文件时,它会查找远程仓库,而一个原始的Maven安装就自带了一个远程仓库——Maven中央仓库。这个Maven中央仓库是在哪里定义的呢?在我的机器上,我安装了maven-2.0.10,我可以找到这个文件:${M2_HOME}/lib/maven-2.0.10-uber.jar,打开该文件,能找到超级POM:\org\apache\maven\project\pom-4.0.0.xml,它是所有MavenPOM的父POM,所有Maven项目继承该配置,你可以在这个POM中发现如下配置:centralMavenRepositorySwitchboarddefaultmaven2,它关闭了snapshot版本构件下载的支持。

很赞哦! ()

上一篇:如何解决PP助手安装软件提示失败'>谈谈自媒体、新媒体和融媒体

下一篇:返回列表'>返回列表

随机图文