6_Maven仓库以及私服

Maven仓库

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

1 本地仓库,存储在~/.m2/repository/位置,每个用户只有一个本地仓库
2 远程仓库

    1 中央仓库:Maven默认的远程仓库
    2 私服:是一种特殊的远程仓库,它是架设在局域网内的仓库
    3 镜像:用来替代中央仓库,速度一般比中央仓库快

私服的配置

为什么要配置私服Nexus

私服

  • 节省带宽和时间,Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件,但是一个部门的每个人都需要从中央仓库下载,浪费时间和带宽,所以在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库。如图所示。
  • 公司内部的项目,构件,基础架构可以放在私服中,供整个部门引用。
  • 他还提供了强大的仓库管理功能,占用较少的内存,基于简单文件系统而非数据库。

私服的配置步骤

Bundle安装方式

1 此种方式,系统自带了jetty容器。
2 下载nexue-bundle.zip,也可以去官网下载
3 解压后,得到两个子目录:

1 nexus-2.11.2-06,该目录包含了Nexus 运行所需要的文件,如启动脚本、依赖jar包等。
2 sonatype-work,该目录包含Nexus生成的配置、日志文件、仓库文件等。
3 其中,第一个目录是运行Nexus所必须的,而且所有相同版本Nexus实力所包含的该目录内容都是一样的。
4 第二个目录不是必须的,Nexus会在运行的时候动态创建该目录,不过他的内容对于各个Nexus实例不一样的,因为不同用户在不同机器上使用的Nexus会有不同的配置和仓库内容。
5 当用户需要本分Nexus的时候,默认备份sonatype-work/目录,因为该目录包含了用户特定的内容,而nexus-2.11.2-06目录下的内容是可以从安装包直接获取的。

4 设置环境变量

1 不设置也可以,可以到X:\nexus\nexus-2.11.2-06\bin下找命令nexus.bat
2 设置:找到nexus目录下nexus-2.11.0-02中的bin文件夹,将至bin的目录路径加入到操作系统的path变量中
3 按照如下操作执行命令。

执行命令

注意:一定要以管理员权限运行cmd
install : 将其安装为windows服务,只需安装一次对应的uninstall
start/restart/stop:安装后即可进行启动/重启/关闭操作
console : 是不安装,每次需要执行时即可运行。

4 如图为运行结果

这里写图片描述

WAR安装方式(官网已经不支持下载)

1 首先需要一个本地的容器,以tomcat为例
2 将下载的nexus-2.9.0.war拷贝到tomcat的webapp目录下,为了操作方便可以将文件重命名为nexus.war
拷贝
3 启动tomcat,在地址栏输入http://localhost:8080/nexus即可
这里写图片描述
4 这时在你的用户目录下有一个名为 sonatype-work/nexus 的文件夹,该文件夹下面存储了Nexus相关的配置文件,以及Nexus仓库的内容,很多人都不愿意存放在这里,可以采用以下方法修改nexus存储地址:

1 新建环境变量:PLEXUS_NEXUS_WORK :D:/nexus(你希望的目录)
2 配置WAR中的 WEB-INF\classes\nexus.properties 文件,如   nexus-work=/nexus 。

这里写图片描述

Nexus的操作

  • 登陆:默认管理员用户:ID:admin ,PWD: admin123
  • 仓库介绍
    默认的仓库
    以上几个仓库是nexus预装的仓库(详见注解1)
    各种仓库之间关系

部署构件至Nexus

1 配置所有构建均从私服下载
在~/.m2/setting.xml中配置如下:

```
<!--此处配置所有的构建均从私有仓库中下载 *代表所有,也可以写central -->
<mirrors>
 <mirror>        
     <id>nexus</id>
     <mirrorOf>*</mirrorOf>      <url>http://localhost:8081/nexus/content/groups/public/</url></mirror>
</mirrors>
<profiles>
    <profile>
         <id>nexus</id>
         <!--所有请求均通过镜像 -->
         <repositories>
             <repository>
                 <id>central</id>
                 <url>http://central</url>
                 <releases><enabled>true</enabled></releases>
                 <snapshots><enabled>true</enabled></snapshots>
             </repository>
         </repositories>
         <pluginRepositories>
             <pluginRepository>
                 <id>central</id>
                 <url>http://central</url>
                 <releases><enabled>true</enabled></releases>
                 <snapshots><enabled>true</enabled></snapshots>
             </pluginRepository>
         </pluginRepositories>
     </profile>
</profiles>


<activeProfiles>
 <!--make the profile active all the time -->
     <activeProfile>nexus</activeProfile>
</activeProfiles>

2 部署构建到Nexus,包含Release和Snapshot, 在项目根目录中pom.xml中配置:
<distributionManagement> 
    <repository> 
        <id>releases</id> 
        <name>Internal Releases</name>      <url>http://localhost:8081/nexus/content/repositories/releases/</url> 
    </repository> 
    <snapshotRepository> 
        <id>snapshots</id> 
        <name>Internal Snapshots</name> 
        <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> 
    </snapshotRepository> 
  </distributionManagement>

3 Nexus的访问权限控制,在~/m2/setting.xml中配置如下:

<!-- 设置发布时的用户名 -->
 <servers>
    <server>
        <id> releases </id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id> snapshots </id>
        <username>admin</username>
        <password>admin123</password>
    </server>
 </servers>

1 Windows下使用Nexus创建私服

2 Nexus入门指南

3 使用Nexus创建私服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值