由于最原始的本地仓库是空的,Maven必须知道至少一个可用的远程仓库,才能在执行Maven命令的时候下载到需要的构件。中央仓库就是这样一个默认的远程仓库,Maven的安装文件自带了中央仓库的配置。读者可以使用解压工具打开jar文件$M2_HOME/lib/maven-model-builder-3.0.jar(在Maven 2中,jar文件路径类似于$M2_HOME/lib/maven-2.2.1-uber.jar),然后访问路径org/apache/maven/model/pom-4.0.0.xml,可以看到如下的配置:
包含这段配置的文件是所有Maven项目都会继承的超级POM,第8章会详细介绍继承及超级POM。这段配置使用id central对中央仓库进行唯一标识,其名称为Maven Repository Switchboard,它使用default仓库布局,也就是在第6.2节介绍的仓库布局。对于Maven 1的仓库,需要配置值为legacy的layout,本书不会涉及Maven 1。最后需要注意的是snapshots元素,其子元素enabled的值为false,表示不从该中央仓库下载快照版本的构件(本章稍后详细介绍快照版本)。
中央仓库包含了这个世界上绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等,每个月这里都会接受全世界Java程序员大概1亿次的访问,它对全世界Java开发者的贡献由此可见一斑。由于中央仓库包含了超过2000个开源项目的构件,因此,一般来说,一个简单Maven项目所需要的依赖构件都能从中央仓库下载到。这也解释了为什么Maven能做到“开箱即用”。