Maven鏡像倉庫替換為阿里云鏡像倉庫

引言


前文中所提到的更換本地倉庫地址,問題已得到解決。

隨之而來,出現(xiàn)了另一個頭疼的問題,更新Indices速度很慢,或者直接就出現(xiàn)假死狀態(tài)。

解決方案


在本地 mavensetting配置文件中加上阿里云鏡像地址就行了:

新增配置內(nèi)容:

  <!-- 阿里鏡像倉庫 -->
  <mirrors>
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>
            http://maven.aliyun.com/nexus/content/groups/public/
        </url>
        <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

接著,更新依賴就成功了。

科普一下


Maven的倉庫、索引

中央倉庫:目前來說,http://repo1.maven.org/maven2/ 是真正的Maven中央倉庫的地址,該地址內(nèi)置在Maven的源碼中,其它地址包括著名的ibiblio.org,都是鏡像。

索引:中央倉庫帶有索引文件以方便用戶對其進行搜索,完整的索引文件至2019年1月22日大小約為1.04G,索引每周更新一次。

本地倉庫:是建立在本地機器上的Maven倉庫,本地倉庫是中央倉庫(或者說遠程倉庫)的一個緩沖和子集,當你構建Maven項目的時候,首先會從本地倉庫查找資源,如果沒有,那么Maven會從遠程倉庫下載到你本地倉庫。這樣在你下次使用的時候就不需要從遠程下載了。如果你所需要的Jar包版本在本地倉庫沒有,而且也不存在于遠程倉庫,Maven在構建的時候會報錯,這種情況可能發(fā)生在有些Jar包的新版本沒有在Maven倉庫中及時更新。Maven缺省的本地倉庫地址為${user.home}/.m2/repository。也就是說,一個用戶會對應的擁有一個本地倉庫。當然你可以通過修改${user.home}/.m2/settings.xml配置這個地址:

<settings>
  ···
  <localRepository> D:\maven\repository</localRepository>
  ...
</settings>

提交內(nèi)容:只要你的項目是開源的,而且你能提供完備的POM等信息,你就可以提交項目文件至中央倉庫,這可以通過Sonatype提供的開源Maven倉庫托管服務實現(xiàn)。

IntelliJ IDEA利用索引實現(xiàn)自動補全

眾所周知,由于偉大的中國防火墻,所以在使用IDEA下載Maven倉庫索引的時候,要么無法訪問,要么就是速度極慢,這對開發(fā)人員帶來了極大的不便,所以一般公司都用Nexus搭建一個公司內(nèi)部的私服。同時利用私服更有利于對公司內(nèi)部開發(fā)人員依賴的Jar包版本進行控制。

也許你會問,中央倉庫帶有索引,為什么本地的IDEA也需要下載索引呢?那么直接看下圖你就明白了,如果本地沒有下載索引的話,在pom.xml文件中添加依賴是得不到任何提示的。

IntelliJ IDEA中Maven插件配置

IntelliJ已經(jīng)內(nèi)置了對Maven插件的支持,當然你也可以配置自己的Maven,只需要進入File->Settings->Maven->Maven home directory|User settings file|Local repository配置即可。注意如果使用自己配置的Maven,那么一定要勾選Override,否則配置不生效。

下載Maven倉庫的索引

在配置完成之后就可以下載倉庫索引了,注意這是一個非常耗時的過程,建議利用晚上或者出去午飯時間下載。下載過程及下載完成之后狀態(tài)如下圖所示。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 在Maven中,任何一個依賴、插件或者項目構建的輸出,都可以稱之為構件。 Maven在某個統(tǒng)一的位置存儲所有項目的...
    三也視界閱讀 2,317評論 0 4
  • 什么是Maven Maven是一個采用純Java編寫的開源項目管理工具, Maven采用了一種被稱之為Projec...
    Java3y閱讀 819評論 0 16
  • 第1章 Maven 介紹 什么是 Maven 什么是 Maven Maven 的正確發(fā)音是[?mev?n],而不是...
    強某某閱讀 2,563評論 0 25
  • 在 Maven 的術語中,倉庫是一個位置(place)。Maven 倉庫是項目中依賴的第三方庫,這個庫所在的位置叫...
    41uLove閱讀 7,218評論 2 3
  • 在Maven世界中,依賴、插件、項目構建完成后輸出的jar包都可以看作是一個構件,任何一個構件都有一組坐標唯一標識...
    SonyaBaby閱讀 708評論 0 0

友情鏈接更多精彩內(nèi)容