**

Maven仓库管理

**

1 什么是Maven仓库?

用来统一存储所有Maven共享构建的位置就是仓库。根据Maven坐标定义每个构建在仓库中唯一存储路径大致为:groupId/artifactId/version/artifactId-version.packaging

2 仓库的分类

 本地仓库
默认在~/.m2/repository,如果在用户配置中有配置,则以用户配置的地址为准
 远程仓库
 中央仓库(不包含有版本的jar包)
http://repo1.maven.org/maven2
 ***
在局域网搭建一个***,这样可以缓解所有的人都***仓库,然后所有人共享。

3 Maven***

1 安装Nexus
为所有来自中央仓库的构建安装提供本地缓存。
下载网站:http://nexus.sonatype.org/

安装版本:nexus-2.7.0-06.war

第一步:安装tomcat
第二步:将nexus的war包拷贝到tomcat的webapps下

第三步:启动tomcat

第四步:nexus的本地目录



访问Nexus
访问URL: http://localhost:8080/nexus-2.7.0-06/

默认账号:
用户名: admin
密码: admin123

**

Nexus的仓库和仓库组

**
仓库有4种类型 :
 group(仓库组):一组仓库的集合
 hosted(宿主):配置第三方仓库 (包括公司内部*** )
 proxy(代理):***会对中央仓库进行代理,用户连接***,***自动***仓库下载jar包或者插件
 virtual(虚拟):兼容Maven1 版本的jar或者插件

Nexus的仓库和仓库组介绍:
 3rd party: 一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构建
 Apache Snapshots: 一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构建
 Central: 代理Maven中央仓库
 Central M1 shadow: 代理Maven1 版本 中央仓库
 Codehaus Snapshots: 一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件
 Releases: 一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件
 Snapshots: 一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件
 Public Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务

配置所有构建均从***下载

在本地仓库的setting.xml中配置如下:



nexus
*
http://localhost:8080/nexus-2.7.0-06/content/groups/public/

部署构建到Nexus

第一步:Nexus的访问权限控制
在本地仓库的setting.xml中配置如下:

releases
admin
admin123


snapshots
admin
admin123

第二步:配置pom文件
在需要构建的项目中修改pom文件


releases
Internal Releases
http://localhost:8080/nexus-2.7.0-06/content/repositories/releases/


snapshots
Internal Snapshots
http://localhost:8080/nexus-2.7.0-06/content/repositories/snapshots/

第三步:执行maven的deploy命令


可以在以下中修改配置