Maven本地倉庫及遠程倉庫


轉載自:http://blog.csdn.net/wanghantong/article/details/36427433

Maven 倉庫的分類:

maven的倉庫只有兩大類:1.本地倉庫 2.遠程倉庫,在遠程倉庫中又分成了3種:2.1 中央倉庫 2.2 私服 2.3 其它公共庫

 

maven本地倉庫的默認位置:無論是Windows還是Linux,在用戶的目錄下都有一個.m2/repository/的倉庫目錄,這就是Maven倉庫的默認位置

 

如何更改maven默認的本地倉庫的位置:這里要引入一個新的元素:localRepository,它是存在於maven的settings.xml文件中

 

1.1 更改配置用戶范圍的本地倉庫:先在/.m2/目錄下創建settings.xml文件,然后在~/.m2/settings.xml,設置localRepository元素的值為想要的倉庫地址

 

 

 

[html]  view plain copy
 
  1. <settings>  
  2.     <localRepository>D:\maven_new_repository</localRepository>  
  3. </settings>  

 

這時候,maven的本地倉庫地址就變成了 D:\maven_new_repository ,注:此時配置的maven的本地倉庫是屬於用戶范圍的。

 

1.2 更改配置全局范圍的本地倉庫:在M2_HOME/conf/settings.xml中更改配置,更改配置的方法同上

 

注:此時更改后,所有的用戶都會受到影響,而且如果maven進行升級,那么所有的配置都會被清除,所以要提前復制和備份M2_HOME/conf/settings.xml文件

 

故:一般情況下不推薦配置全局的settings.xml

2、遠程倉庫

所有的maven項目都會超級pom 包含了如下配置的pom就成為超級pom

 

  1. <repositories>  
  2.     <repository>  
  3.       <id>central</id>  
  4.       <name>Central Repository</name>  
  5.       <url>http://repo.maven.apache.org/maven2</url>  
  6.       <layout>default</layout>  
  7.       <snapshots>  
  8.         <enabled>false</enabled>  
  9.       </snapshots>  
  10.     </repository>  
  11.   </repositories>

2.2私服

私服是一種特殊的遠程倉庫 是假設在局域網上的 當maven需要下載時會從私服請求 如果私服中不存在資源則從外部遠程倉庫下載 並緩存在私服上 我們可能把一些容易被牆的資源上傳到私服上

三、遠程倉庫配置

配置如下

 

  1. <repositories>  
  2.         <repository>  
  3.             <id>jboss</id>  
  4.             <name>JBoss Repository</name>  
  5.             <url>http://repository.jboss.com/maven2/</url>  
  6.             <releases>  
  7.                 <updatePolicy>daily</updatePolicy> <!-- 表示更新頻率 never always interval daily daily為默認值  -->  
  8.                 <enabled>true</enabled>  
  9.                 <checksumPolicy>warn</checksumPolicy><!-- 表示maven檢查和查驗文件的策略 -->  
  10.             </releases>  
  11.             <snapshots>  
  12.                 <enabled>false</enabled>  
  13.             </snapshots>  
  14.             <layout>default</layout>  
  15.         </repository>  
  16.     </repositories> 

出於安全考慮 我們要對主倉庫進行認證

 

  1. <servers>  
  2.         <server>  
  3.             <id>same with repository id in pom</id>  
  4.             <username>username</username>  
  5.             <password>pwd</password>  
  6.         </server>  
  7.     </servers>  

將生成的項目部署到遠程倉庫

<distributionManagement>

  <repository>  

    <id></id>

    <name></name>

    <url></url>

  </repository>  <!--  發布版本構件的倉庫 -->

  <snapshotRepository>  

    <id></id>

    <name></name>

    <url></url>

</snapshotRepository> <!--  快照版本的倉庫 -->

</distributionManagement>

 

運行:mvn clean deploy

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM