将Maven
项目的所有依赖包
都存放在Maven中央仓库
中,然后在pom.xml
配置文件中进行简单的配置即可,需要的时候自动下载,比手动下载方便多了, 尤其是对于WEB
项目,动辄就几十个依赖包
那是家常便饭,要是这些依赖包
都是手动下载放到各自的项目中, 管理这么多的依赖包
就很困难。Maven
用中央仓库
解决了这个难题。
Maven中央仓库
也称为Maven远程仓库
。
artifact
的Maven中央仓库
。artifact
的Maven中央仓库
。如果有某些artifact
不希望被公开,那么就需要使用私有的Maven中央仓库
。阿里云
提供的私有的Maven中央仓库, 它号称无限容量、免费使用。仓库提供者 | 仓库名称 | 是否公开 | 仓库URL | 仓库搜索 |
---|---|---|---|---|
Sonatype Inc | mevenCentral | 公开 | https://repo1.maven.org/maven2 | https://search.maven.org |
Google LLC | google | 公开 | https://maven.google.com | |
JitPack | jitpack | 公开 | https://jitpack.io | https://jitpack.io |
Gradle Inc | gradle-plugin | 公开 | https://plugins.gradle.org | https://plugins.gradle.org |
VMware Inc | spring-libs-release | 公开 | https://repo.spring.io/libs-release | https://repo.spring.io |
VMware Inc | spring-plugins-release | 公开 | https://repo.spring.io/plugins-release | https://repo.spring.io |
Grails Foundation | grails-core | 公开 | https://repo.grails.org/grails/core | https://repo.grails.org/grails |
Grails Foundation | grails-plugins | 公开 | https://repo.grails.org/grails/plugins | https://repo.grails.org/grails |
这些Maven中央仓库
,除了google
之外,在中国大陆没有CDN节点,但是中国大陆的很多企业都有他们的开源镜像。
Maven中央仓库
的文件存储结构非常简单。
假设,我们有如下配置的artifact
:
<dependency>
<groupId>com.fpliu</groupId>
<artifactId>Android-List</artifactId>
<version>1.0.1</version>
<packaging>aar</packaging>
</dependency>
该配置下,在Maven中央仓库
中的存储结构如下:
/
└── com
└── fpliu
└── Android-List
├── 1.0.0
│ └── Android-List-1.0.0.aar
├── 1.0.1
│ └── Android-List-1.0.1.aar
└── maven-metadata.xml
这里有个maven-metadata.xml
配置文件,我们看看它的内容:
<metadata>
<groupId>com.fpliu</groupId>
<artifactId>Android-List</artifactId>
<versioning>
<latest>1.0.1</latest>
<release>1.0.1</release>
<versions>
<version>1.0.0</version>
<version>1.0.1</version>
</versions>
<lastUpdated>20160422213339</lastUpdated>
</versioning>
</metadata>
可以看得出,maven-metadata.xml
配置文件是用来记录发布的版本号和最近一次更新的时间等信息的。
Maven
中央仓库通常是需要注册账号、部分仓库的首次审核时间非常的长,这影响我们的使用。Maven
中央仓库是国外的,国内也没有他们的镜像,导致在国内使用的时候,下载速度非常慢。所以, 为了加快下载速度和安全的考虑, 一些公司在内网搭建自己的Maven
中央仓库,这样下载速度非常快,而且安全。自己搭建Maven中央仓库
的话,就需要有Web服务器
,现成的、免费的 可以使用GitHub、Gitee等来做为服务器。如果你财大气粗的话,可以购买云服务器
。
按照上面的Maven中央仓库的文件存储结构
,将文件推送到GitHub上就可以了。
URL
是https://raw.githubusercontent.com/${github-username}/${github-repository}/master
mvn
命令会根据实际需要把Maven中央仓库
中的文件下载到本地的~/.m2/repository
目录中,它就是Maven本地仓库
,我们看看: