Maven私服的使用与搭建

私服就是私有服务。

A开发了一个a项目(本地仓库),B想要使用(无法使用)。

解决方案:让A把a项目上传到中央仓库,中央仓库拒收 ×

解决方法:让A把a项目上传到私服(仅供指定的人使用的中央仓库),B也连接到私服,就可以下载内容了!

私服:(1)提供了和中央仓库一样的功能,都可以被多人访问,进行资源的上传与下载。 (2) 私服不面向所有用户,仅面向部分用户(公司内部的开发人员) 

弊端:私服需要自己搭建,中央仓库不需要搭建!需要自己进行权限的配置。

Nexus是SonaType公司出品的一个【开源免费】的私服项目,仅需要进行基础的配置,即可在公司内部搭建一个私有服务器!

下载方式:基于官网进行下载 Sonatype Nexus Repository - 二进制和工件管理 |声纳型

下载完成之后:

解压之后,进入到解压目录的bin目录中,会看到一个nexus.exe的程序,通过命令提示符的方式启动。

nexus.exe /run nexus

注意:环境变量中必须有可用的JAVA_HOME,才可以启动!

私服的服务默认会部署在8081端口,直接访问localhost:8081即可!

右上角登录 -> 用户名admin 密码(根据提示找到对应文件打开复制粘贴)-> 下一步指定一个新密码 -> 允许匿名访问。

Maven的私服Nexus的核心概念

代理仓库:类似于私服中的中央仓库,当Maven本地没有资源的时候,发送请求到私服,如果资源是一个中央仓库的资源,就会通过代理仓库进行下载。

宿主仓库:类似于私服中的私有仓库,开发者自己的jar包,会保存到宿主仓库中。

仓库组:编排仓库的一种方式,将多个仓库分成一组!

Maven的私服Nexus的代理下载

(1)让私服中的代理仓库在没有资源的时候默认不访问中央仓库下载,默认访问阿里云仓库进行下载!

将远程URL路径修改为阿里云的仓库路径

https://maven.aliyun.com/repository/public

(2)手动创建Maven私服仓库

Snapshot : 快照(不稳定的(可能有BUG)

Release :发布(发布版(稳定)

金丝雀 :极其不稳定(Google)/ α β γ 【不稳定版】

(3)声明本地Maven连接私服的方式

在本地Maven的conf的settings.xml中声明私服的用户名和和密码

<servers>
    <!-- 一组server就是用于去指定一组用户名与密码的 -->
    <server>
        <!-- 认证信息的Id名称(给这组认证信息起个名字) / 私服的访问用户名 / 私服的访问密码-->
        <id>web-410-auth</id>
        <username>admin</username>
        <password>admin</password>
    </server>
</servers>

<mirrors>声明将所有的下载请求转发到私服

<mirrors>
    <mirror>
        <id>web-410-auth</id>
        <!-- 声明本地仓库发出的哪些请求要进行转发 -->
        <mirrorOf>*</mirrorOf>
        <name>web-410-私服仓库</name>
        <!-- 声明访问的私服的仓库组的URL地址 -->
        <url>http://localhost:8081/repository/maven-public/</url>
    </mirror>
</mirrors>

Maven的私服Nexus的上传

上传当前IDEA中的Maven项目发布到私服。

需要在IDEA中进行配置! 是在要发布的资源的pom.xml文件中进行配置!

想要上传哪个Maven项目到私服中,就在哪个Maven的pom.xml中进行声明

之前要做下载,只需要配置一个仓库组(会自动去管理的所有仓库中找资源)

<!-- distributionManagement:声明当前项目发布到私服的相关信息 -->
<distributionManagement>
    <!-- (1)如果当前项目是RELEASE的项目,发布到哪个仓库中 -->
    <repository>
        <!-- id用于声明使用settings.xml中<servers>中哪个id的认证的用户名和密码进行权限 -->
        <id>web-410-auth</id>
        <!-- url用于声明当前项目要上传到哪个仓库 声明的是仓库的URL路径 (▲不是仓库组)-->
        <url>http://localhost:8081/repository/web-410-release/</url>
    </repository>
    <!-- (2)如果当前项目是SNAPSHOT的项目,发布到哪个仓库中 -->
    <snapshotRepository>
        <!-- id用于声明使用settings.xml中<servers>中哪个id的认证的用户名和密码进行权限 -->
        <id>web-410-auth</id>
        <!-- url用于声明当前项目要上传到哪个仓库 声明的是仓库的URL路径 (▲不是仓库组)-->
        <url>http://localhost:8081/repository/web-410-snapshot/</url>
    </snapshotRepository>
</distributionManagement>

发布:Maven的生命周期

Maven有三套生命周期:清理 、 安装 、 发布!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值