您的位置:首页 > 其它

maven仓库简介

2013-01-29 22:40 253 查看

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部署,这点另写文章单独介绍。包括依赖部署至远程服务器也在***篇单独介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: