讀古今文學網 > Maven實戰 > 7.8.1 插件倉庫 >

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中加入其他的插件倉庫配置。