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节点下增加一行即可
<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里做了指定,如下
<repositories> <repository> <id>central</id> <name>Central Repository</name> <url>http://repo.maven.apache.org/maven2</url> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
3.2其他远程仓库
那么添加一个其他的远程库只需在项目的pom.xml文件中添加以下配置即可
<repositories> <repository> <id>jboss</id> <name>JBoss Repository</name> <url>http://repository.jboss.org/nexus/content/groups/public/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> <layout>default</layout> </repository> </repositories>
snapshots false表示关闭jboss远程仓库的snapshots版本下载
releases true表示打开jboss远程仓库的release版本下载
那么测试下jboss仓库是否配置正确,添加一个jboss仓库独有的依赖即可,这里选用xom1.2,配置如下
<dependency> <groupId>xom</groupId> <artifactId>xom</artifactId> <version>1.2</version> </dependency>
发现下载成功即可
远程服务器的验证,只需在settings.xml添加如下代码即可
<server> <id>deploymentRepo</id> <username>repouser</username> <password>repopwd</password> </server>
id要与配置的远程服务器id对应比如jboss.
3.3镜像
镜像及将的maven依赖请求转发至相应服务器,配置如下
<mirror> <id>mirrorId</id> <mirrorOf>repositoryId</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://my.repository.com/repo/path</url> </mirror>这里即是将仓库id为repositoryId的所有请求转发至http://my.repository.com/repo/path镜像服务器
镜像更为常用的作法是结合私服,如下配置
<mirror> <id>mirrorId</id> <mirrorOf>*</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://my.repository.com/repo/path</url> </mirror>这里即是将对所有仓库的请求转发至私服http://my.repository.com/repo/path
3.4私服
私服一般采用nexus部署,这点另写文章单独介绍。
包括依赖部署至远程服务器也在私服篇单独介绍。
作者:lastsweetop 发表于2013-1-29 22:40:02 原文链接
阅读:65 评论:0 查看评论