1. 程式人生 > >(四)Maven中的倉庫

(四)Maven中的倉庫

setting back wid csdn esp strong itl nexus 知識

一、分類

  • maven的倉庫只有兩大類:

    •   1.本地倉庫

    • 2.遠程倉庫,在遠程倉庫中又分成了3種:

      •   2.1 中央倉庫

      • 2.2 私服

      • 2.3 其它公共庫

二、本地倉庫

  • 本地倉庫,顧名思義,就是Maven在本地存儲構件的地方。
  • 註:maven的本地倉庫,在安裝maven後並不會創建,它是在第一次執行maven命令的時候才被創建,maven本地倉庫的默認位置:無論是Windows還是Linux,在用戶的目錄下都有一個.m2/repository/的倉庫目錄,這就是Maven倉庫的默認位置
  • 如何更改maven默認的本地倉庫的位置,修改maven的settings.xml文件中的localRepository
    標簽值。
    <settings>  
        <localRepository>D:\maven_new_repository</localRepository>  
    </settings>  

三、中央倉庫

  • 中央倉庫是默認的遠程倉庫,maven在安裝的時候,自帶的就是中央倉庫的配置

  • 技術分享

  • 案例:修改默認中央倉庫,即下載依賴包不再從默認的中央倉庫中下載(雖然更新快但是下載速度慢),只需修改工程的pom.xml文件即可。

<!-- 修改中央倉庫 -->
<repositories>
<repository> <!-- 指定倉庫唯一id --> <id>resp</id> <!-- 指定倉庫名 --> <name>resp</name> <!-- 指定倉庫地址 --> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <!-- 設置倉庫是否為默認倉庫 --> <
layout>default</layout> <!-- 設置是否可以從url對應的倉庫中下載快照snapshots版本的依賴 --> <snapshots> <enabled>false</enabled> </snapshots> <!-- 設置是否可以從url對應的倉庫中下載穩定releases版本的依賴 --> <releases> <enabled>true</enabled> </releases> </repository> </repositories> <!-- 修改插件倉庫 --> <pluginRepositories> <pluginRepository> <id>pluginTest</id> <name>pluginTest</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </pluginRepository> </pluginRepositories>
  • 此時下載依賴會在http://maven.aliyun.com/nexus/content/groups/public/和默認中央倉庫兩個倉庫同時下載,如果想要禁止默認中央倉庫下載,可以將自己設置的倉庫的id設置為中央倉庫的id即<id>central</id>
  • 缺點:只針對當前工程,新建工程還是從默認中央倉庫下載。

  • 案例二:通過修改鏡像,修改所有工程的默認中央倉庫

    •   修改maven的setting.xml文件
    <mirror>
            <id>mirrorId</id>
            <name>aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
  •   其中 <mirrorOf>*</mirrorOf> 指對所有工程的所有倉庫進行映像,即所有工程所有倉庫都會無效,下載依賴時從鏡像的url倉庫下載。如果配置<mirrorOf>central</mirrorOf>則任何從默認中央倉庫下載的依賴都會轉到鏡像倉庫下載。

(四)Maven中的倉庫