maven--8.仓库

来源:互联网 发布:神机妙算软件升级 编辑:程序博客网 时间:2024/06/07 15:47

1      Maven仓库管理

1.1     什么是Maven仓库?

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

1.2     仓库的分类

1、本地仓库

~/.m2/repository

每个用户只有一个本地仓库

2、远程仓库

l  中央仓库:Maven默认的远程仓库,不包含版权资源

              http://repo1.maven.org/maven2

 

l  私服:是一种特殊的远程仓库,它是架设在局域网内的仓库

 

2      Maven私服Nexus

2.1     安装Nexus

为所有来自中央仓库的构建安装提供本地缓存。

下载网站:http://nexus.sonatype.org/

 

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

 

 

2.1.1   第一步:

将下载的nexus的war包复制到tomcat下的webapps目录。

2.1.2   第二步:启动tomcat。

nexus将在c盘创建sonatype-work目录【C:\Users\当前用户\sonatype-work\nexus】。

 

 

 

2.2     Nexus的目录结构

Ø  目录结构如下:

Ø  Indexer 索引目录结构:

Ø  Storage存储目录结构:

 

2.3     访问Nexus

2.3.1   登录

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

 

默认账号:

用户名: admin

密码: admin123


 

2.3.2   Nexus的仓库和仓库组

仓库有4种类型 :

l  group(仓库组):一组仓库的集合

l  hosted(宿主):配置第三方仓库(包括公司内部私服)

l  proxy(代理):私服会对中央仓库进行代理,用户连接私服,私服自动去中央仓库下载jar包或者插件

l  virtual(虚拟):兼容Maven1 版本的jar或者插件

 

Nexus的仓库和仓库组介绍:

l  3rd party: 一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构建

l  Apache Snapshots: 一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构建

l  Central: 代理Maven中央仓库

l  Central M1 shadow: 代理Maven1 版本中央仓库

l  Codehaus Snapshots: 一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件

l  Releases: 一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件

l  Snapshots: 一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件

PublicRepositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务

 

2.4     配置所有构建均从私服下载

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

<mirrors>          <mirror>                    <!--此处配置所有的构建均从私有仓库中下载 *代表所有,也可以写central -->                    <id>nexus</id>                    <mirrorOf>*</mirrorOf>                    <url>http://localhost:8080/nexus-2.7.0-06/content/groups/public/</url>          </mirror> </mirrors>

 

 

2.5     部署构建到Nexus

2.5.1   第一步:Nexus的访问权限控制

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

 <server>                  <id>releases</id>                   <username>admin</username>                   <password>admin123</password>         </server>         <server>                   <id>snapshots</id>                   <username>admin</username>                   <password>admin123</password>         </server>


2.5.2   第二步:配置pom文件

在需要构建的项目中修改pom文件

<distributionManagement>       <repository>           <id>releases</id>           <name>Internal Releases</name>           <url>http://localhost:8080/nexus-2.7.0-06/content/repositories/releases/</url>       </repository>       <snapshotRepository>           <id>snapshots</id>           <name>Internal Snapshots</name>           <url>http://localhost:8080/nexus-2.7.0-06/content/repositories/snapshots/</url>       </snapshotRepository>    </distributionManagement> 

2.5.3   第三步:执行maven的deploy命令

 

 

3      中央仓库

3.1     阿里云仓库

 

<!-- 阿里云仓库 -->   <mirror>                    <id>nexus-aliyun</id>                    <mirrorOf>central</mirrorOf>                      <name>Nexusaliyun</name>                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>          </mirror>


 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击