什么是仓库?
仓库首先是一个地方,其次,仓库是用于保管东西的。同理,maven仓库也是一个地方,也是用于保管东西的。那么,maven的仓库在哪里,保管的又是什么?
maven仓库保管的是许许多多的构件,就是我们所说的第三方jar,比如junit,spring的jar等,而仓库根据其分类的不同,其所在位置也不同。
maven仓库的分类
本地仓库
顾名思义,它是在我们的本地磁盘上,即本地磁盘的某个目录,我们之前安装maven的时候配置过本地仓库的路径,在$M2_HOME/conf/settings.xml的<localRepository>D:\mvnRepository</localRepository>中指定。它对应磁盘上的一个目录,找到这个目录,可以看到,maven是按照一定的规则管理这些依赖,基本规则如下:groupId / artifactId / version / artifactId-version.packaging,然后按照路径创建相应的目录,这成为maven仓库的布局;
远程仓库
顾名思义,它位于远端,根据位置的不同,又分为中央仓库、私服、镜像仓库。
中央仓库:
中央仓库是maven内置的,最大的仓库,可以理解为大boss;默认情况下,我们在新建完maven项目后,第一次运行时,控制台可以看到maven在下载东西,整个过程可能会相当慢,就是因为maven去中央仓库现在需要的构建,而中央仓库位于国外,由于网络等原因,整个下载过程会相当慢;
私服:私服是一种代理技术的运用,由于从中央仓库下载构件比较慢,我们可以通过访问私服,让私服去中央仓库下载,私服下载到构件后会缓存,这样后续的请求就可以直接将缓存的构件返回,无需在下载,私服一般是搭建在公司或组织内部局域网中,因此,速度、稳定性都会有提升;
镜像仓库:
镜像仓库的作用类似于拦截器的概念,比如我们原本是请求某个仓库下载构件的,我们可以通过镜像的方式,将这些请求转交到其他仓库,这样maven就会从其他仓库下载构件。
中央仓库是maven内置的,我们无需配置
私服或者是其他远程仓库使用如下方式配置:
在项目的pom文件中,添加以下配置:
<repositories> <repository> <id>nexus</id> <name>Team Nexus Repository</name> <url>http://10.80.6.34:8081/nexus/content/groups/public</url> </repository> </repositories>
通过repository元素配置一个仓库,一个仓库包括id、name、url,不同的仓库,id不能冲突,url指示仓库的网络地址
镜像仓库的配置:
镜像仓库的配置在maven的settings.xml中
通过mirror元素,配置镜像仓库的地址,其中,mirrorOf元素配置你要对哪个仓库镜像,如上,配置的镜像仓库是阿里云的仓库,central代表中央仓库,意味着原本对中央仓库的请求,现在都转交到阿里云仓库。
仓库解析依赖的机制
maven首先在本地仓库中寻找依赖,本地没有的话,会从远程仓库寻找,如果我们配置了其他仓库或者是私服,会先从这些仓库寻找,如果没找到,则从中央仓库寻找,期间,如果配置了镜像,则从相应的镜像仓库寻找依赖。
相关推荐
apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-...
maven资源 apache-maven-3.3.9-bin.zip
maven-deploy-plugin-2.8.2.jar
maven-jar-plugin-3.1.1.jar
maven-shared-utils-3.2.1.jar
maven-antrun-plugin-3.0.0.jar
maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。...
maven-install-plugin-2.4.jar
maven-site-plugin-3.3.jar
maven-deploy-plugin-2.7.jar
apache-maven-3.6.3-bin.zip maven3,6版本, 可用apache-maven-3.6.3-bin.zip maven3,6版本, 可用apache-maven-3.6.3-bin.zip maven3,6版本, 可用apache-maven-3.6.3-bin.zip maven3,6版本, 可用apache-maven-3.6.3-...
apache-maven-3.9.6-bin
maven-archetype-webapp-1.0.jar,下载,如果有需要的同志可以自己下载,。
maven-resources-plugin-3.1.0.jar
maven-repository-metadata-3.0.jar
maven-resources-plugin-2.4.1.jar
maven-archetype-quickstart-1.1.jar包下载
Maven-apache-maven-3.8.1-Repository-配置好的-Window10 解压配置一下环境变量就可以用
apache-maven-3.8.5-bin.zip
apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-...