maven仓库管理

一、maven仓库

1、maven仓库概述

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

2、仓库分类

(1)本地仓库:
默认在~/.m2/repository,如果在用户配置中有配置,则以用户配置的地址为准
(2)远程仓库:
a、中央仓库(不包含有版本的jar包)
http://repo1.maven.org/maven2
b、私服
这里写图片描述

二、maven私服

1、安装Nexus

(1)为所有来自中央仓库的构建安装提供本地缓存,下载网站:http://nexus.sonatype.org/
本处安装版本:nexus-2.7.0-06.war
(2)第一步:安装tomcat
(3)第二步:将nexus的war包拷贝到tomcat的webapps下
这里写图片描述
(4)第三步:启动tomcat
这里写图片描述
(5)第四步:nexus的本地目录
这里写图片描述
这里写图片描述

2、访问Nexus

(1)访问URL:http://localhost:8080/nexus-2.7.0-06/
(2)默认账号:用户名: admin;密码: admin123

3、Nexus的仓库和仓库组

这里写图片描述
(1)仓库有4种类型 :

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

(2)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的仓库聚合并通过一致的地址提供服务

(3)图解:
这里写图片描述

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

(1)在本地仓库的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>

这里写图片描述

5、部署构建到Nexus

(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)第二步:配置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>

(3)第三步:执行maven的deploy命令
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值