Maven 倉庫

Maven倉庫分爲:本地倉庫 和 遠程倉庫bash

1.本地倉庫:即 ~/.m2/setting.xml 中的 localRepository 元素的值。網絡

2.遠程倉庫:中央倉庫-廣域網的倉庫,私服--局域網內的倉庫maven

   默認遠程倉庫:佈局

<project>
   .....
   <repositories>
      <repository>
         <!--Maven 默認遠程倉庫 id 爲central,一樣的倉庫ID會覆蓋-->
         <id>central</id>
         <name>Maven Repository Switchboard</name>
         <url>http://repo1.maven.org/maven2</url>
         <!--表示佈局是Maven2和3 的默認佈局,不是Maven1的佈局-->
         <layout>default</layout> 
         <!--控制快照版構件-->
         <snapshosts>
           <enabled>false</enabled>
         </snapshosts>
      </repository>
   <repositories>
   .....
</project>

    遠程倉庫配置:url

<project>
   .....
   <!--聲明遠程倉庫-->
   <repositories>
      <!--聲明一個或者多個repository元素(遠程倉庫)-->
      <repository>
         <!--Maven 默認遠程倉庫 id 爲central,一樣的倉庫ID會覆蓋-->
         <id>倉庫聲明惟一ID</id>
         <name>倉庫名稱</name>
         <url>倉庫地址</url>
         <!--控制發佈版構件-->
         <releases>
           <!-- true:開啓  false:關閉-->
           <enabled>true</enabled>
         </releases>
         <!--控制快照版構件-->
         <snapshosts>
           <enabled>true</enabled>
           <!--控制更新頻率,默認 daily(天天更新),never(從不),always(每次),interval:X(每隔X分鐘更新)-->
           <updatePolicy>daily<updatePolicy>
           <!--配置檢查檢驗和文件的策略,默認 warn(構建輸出警告),fail(遇到校驗和錯誤則構建失敗),
                           ignore(忽略校驗和錯誤)-->
           <checksumPolicy>ignore</checksumPolicy>
         </snapshosts>
         <!--表示佈局是Maven2和3 的默認佈局,不是Maven1的佈局-->
         <layout>default</layout>
      </repository>
   <repositories>
   .....
</project>

認證:有些遠程庫須要身份認證,在settings.xml 中配置認證信息spa

<settings>
   ...
   <servers>
      <server>
         <id>遠程倉庫ID<id>
         <name>用戶名</name>
         <password>密碼</password>
      </server>
   </servers>
   ...
</settings>

部署至遠程倉庫代理

<project>
   ...
   <distributionManagement>
      <!--發佈版本構件的倉庫-->
      <repository>
         <id>遠程倉庫的惟一標識</id>
         <name>名稱</name>
         <url>倉庫地址</url>
      </repository>
      <!--快照版本的倉庫-->
      <snapshotRepository>
         <id>遠程倉庫的惟一標識</id>
         <name>名稱</name>
         <url>倉庫地址</url>
      </snapshotRepository>
   </distributionManagement>
   ...
</project>

命令:code

mvn clean deploy  #發佈到遠程倉庫

mvn clean install-U #強制讓Maven檢查更新,忽略<updatePolicy>的配置

遠程倉庫下載和部署到遠程倉庫,須要認證,配置方式都同樣。server

倉庫鏡像:xml

<settings>
   ...
   <!--根據網絡須要指向的一個代理-->
   <mirrors>
      <mirror>
         <id>鏡像倉庫惟一標識</id>
         <name>鏡像倉庫名稱</name>
         <url>地址</url>
         <!--mirrorOf的值爲 * 表明全部Maven遠程倉庫鏡像
                          external:* 表明全部不在本機上的遠程倉庫
                          repo1,repo2 表明匹配repo1,repo2 兩個倉庫
                          *,!repo1     表明匹配除repo1的全部遠程倉庫-->
         <mirrorOf>遠程倉庫ID<mirrorOf>
      </mirror>
   <mirrors>
   ...
</settings>
相關文章
相關標籤/搜索