首页 » Maven实战 » Maven实战全文在线阅读

《Maven实战》7.8.1 插件仓库

关灯直达底部

与依赖构件一样,插件构件同样基于坐标存储在Maven仓库中。在需要的时候,Maven会从本地仓库寻找插件,如果不存在,则从远程仓库查找。找到插件之后,再下载到本地仓库使用。

值得一提的是,Maven会区别对待依赖的远程仓库与插件的远程仓库,第6.4节介绍了如何配置远程仓库,但那种配置只对一般依赖有效果。当Maven需要的依赖在本地仓库不存在时,它会去所配置的远程仓库查找,可是当Maven需要的插件在本地仓库不存在时,它就不会去这些远程仓库查找。

不同于repositories及其repository子元素,插件的远程仓库使用pluginRepositories和pluginRepository配置。例如,Maven内置了如下的插件远程仓库配置,见代码清单7-7。

代码清单7-7 Maven内置的插件仓库配置

除了pluginRepositories和pluginRepository标签不同之外,其余所有子元素表达的含义与第6.4节所介绍的依赖远程仓库配置完全一样。我们甚至看到,这个默认插件仓库的地址就是中央仓库,它关闭了对SNAPSHOT的支持,以防止引入SNAPSHOT版本的插件而导致不稳定的构建。

一般来说,中央仓库所包含的插件完全能够满足我们的需要,因此也不需要配置其他的插件仓库。只有在很少的情况下,项目使用的插件无法在中央仓库找到,或者自己编写了插件,这个时候可以参考上述的配置,在POM或者settings.xml中加入其他的插件仓库配置。