maven仓库简介

来源:互联网 发布:手机淘宝app改评价 编辑:程序博客网 时间:2024/05/16 19:51

原文地址:http://blog.csdn.net/lastsweetop/article/details/8553981

1仓库结构图


以下篇幅从下往上讲起

2本地仓库

本地仓库默认是用户目录下的\.m2\repository,用户级的配置文件settings.xml也放在这里。

但用户目录下载C盘,C盘一般都只跑个操作系统,个人仓库随着项目的积累会很大,放在C盘比较占用C盘空间,

如果需要更改本地仓库的放置目录的话,需要修改settings.xml文件

小贴士:那么在此插一个eclipse maven插件的小技巧,maven插件安装完毕后会使用插件内嵌的maven版本且是snapshot版的

snapshot代表不稳定,那么这是需要选择手动安装的maven版本目录,这个简单,只需再正确页面点Add添加,然后把原来

的内嵌版本勾掉,勾选手动版的即可,所涉及的页面如下:


那么细心的朋友就会发现下面的open file链接,那么点击就可以打开settings.xml文件,不用再每次去找settings.xml然后去修改。

因为settings.xml可能经常变动,eclipse的maven插件做的很贴心。

这里的settings.xml像图片上描述的那样是全局settings.xml,建议最好使用用户级的settingx.xml,当然这个eclipse maven插件也帮你

给出了一键打开功能,那么快捷方式看图

更改本地仓库目录只需在settings.xml文件中setting节点下增加一行即可

[html] view plaincopy
  1. <localRepository>D:\document\study\maven\repository</localRepository>  

3远程仓库

如果学过git就非常理解远程仓库和本地仓库的区别,当然maven的远程仓库当然也有其特性。
maven的远程仓库有多种存在形式,中央仓库,其他远程仓库,镜像,私服

3.1中央仓库

中央仓库是默认的远程仓库,如果不做任何特殊配置那么将会从中央仓库下载依赖,这在
$M2_HOME/lib/maven-model-builder-3.0.4.jar里的org/apache/maven/model/pom-4.0.0.xml里做了指定,如下
[html] view plaincopy
  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>  

3.2其他远程仓库

那么添加一个其他的远程库只需在项目的pom.xml文件中添加以下配置即可
[html] view plaincopy
  1. <repositories>  
  2.         <repository>  
  3.             <id>jboss</id>  
  4.             <name>JBoss Repository</name>  
  5.             <url>http://repository.jboss.org/nexus/content/groups/public/</url>  
  6.             <snapshots>  
  7.                 <enabled>false</enabled>  
  8.             </snapshots>  
  9.             <releases>  
  10.                 <enabled>true</enabled>  
  11.             </releases>  
  12.             <layout>default</layout>  
  13.         </repository>  
  14.     </repositories>  

snapshots false表示关闭jboss远程仓库的snapshots版本下载
releases true表示打开jboss远程仓库的release版本下载

那么测试下jboss仓库是否配置正确,添加一个jboss仓库独有的依赖即可,这里选用xom1.2,配置如下
[html] view plaincopy
  1. <dependency>  
  2.     <groupId>xom</groupId>  
  3.     <artifactId>xom</artifactId>  
  4.     <version>1.2</version>  
  5. </dependency>  

发现下载成功即可

远程服务器的验证,只需在settings.xml添加如下代码即可
[html] view plaincopy
  1. <server>  
  2.   <id>deploymentRepo</id>  
  3.   <username>repouser</username>  
  4.   <password>repopwd</password>  
  5. </server>  

id要与配置的远程服务器id对应比如jboss.

3.3镜像

镜像及将的maven依赖请求转发至相应服务器,配置如下
[html] view plaincopy
  1. <mirror>  
  2.   <id>mirrorId</id>  
  3.   <mirrorOf>repositoryId</mirrorOf>  
  4.   <name>Human Readable Name for this Mirror.</name>  
  5.   <url>http://my.repository.com/repo/path</url>  
  6. </mirror>  
这里即是将仓库id为repositoryId的所有请求转发至http://my.repository.com/repo/path镜像服务器

镜像更为常用的作法是结合私服,如下配置
[html] view plaincopy
  1. <mirror>  
  2.   <id>mirrorId</id>  
  3.   <mirrorOf>*</mirrorOf>  
  4.   <name>Human Readable Name for this Mirror.</name>  
  5.   <url>http://my.repository.com/repo/path</url>  
  6. </mirror>  
这里即是将对所有仓库的请求转发至私服http://my.repository.com/repo/path

3.4私服

私服一般采用nexus部署,这点另写文章单独介绍。
包括依赖部署至远程服务器也在私服篇单独介绍。

0 0
原创粉丝点击