Nexus3的使用[通俗易懂]

Nexus3的使用[通俗易懂]nexus的简介、安装以及Maven项目中使用Nexus仓库

大家好,又见面了,我是你们的朋友全栈君。

一、Nexus 简介

nexus是一个强大的maven仓库管理器(私服),它极大的简化了本地内部仓库的维护和外部仓库的访问

特点:

  • 节省外网带宽。
  • 加速Maven构建。
  • 部署第三方构件。
  • 提高稳定性,增强控制。
  • 降低中央仓库的负荷。
  • 控制和审计
  • 建立本地内部公用仓库

Nexus 仓库类型:

  • hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
  • proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
  • group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。

二、Nexus 安装

下载Nexus好以后解压会有两个文件夹:nexus的和sonatype-work。前者是功能的实现,后者负责存储数据。

进入nexusbin目录下:启动(nexus.exe /run) ,启动之后访问http://localhost:8081/,点击Browse可以看到4个默认的仓库
Nexus内置的4个仓库
说明

  • maven-centralmaven中央库,默认从https://repo1.maven.org/maven2/拉取jar
  • maven-releases:私库发行版jar
  • maven-snapshots:私库快照(调试版本)jar
  • maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。

如果不够用,自己也可以根据上面的仓库类型进行选用创建。

三、Maven 使用 Nexus 仓库

3.1 上传 jar 包

上传jar包需要认证,修改Maven的配置文件settings.xmlservers标签下配置:

 <servers>
    <server>
        <id>release_user</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>snapshot_user</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
</servers>

这里配置两个用户,一个部署release类型jar包的,一个是部署snapshot类型jar包的。id用于唯一指定一条认证配信息,之后会在pom中使用。

Maven工程的pom文件中添加distributionManagement标签,该标签负责描述maven deploy上传远程仓库:

<distributionManagement>
    <repository>
        <id>release_user</id>
        <name>Release Deploy</name>
        <url>http://localhost:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshot_user</id>
        <name>Snapshot Deploy</name>
        <url>http://localhost:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

URL从图形化界面的这里复制,id即刚才在Maven配置文件中配置的用户信息,name可以随意
复制URL

执行mvn clean deploy就可以在仓库中看到上传的jar包。

3.2 拉取 jar 包

拉取jar包需要在Maven工程的pom文件中添加repositories标签:

<repositories>
    <repository>
        <id>nexus-public</id>
        <name>Nexus Public</name>
        <url>http://localhost:8081/repository/maven-public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158126.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月12日 上午6:16
下一篇 2022年7月12日 上午6:36


相关推荐

  • 腾讯云智能体开发平台 腾讯云智能体开发平台 OpenClaw 在

    腾讯云智能体开发平台 腾讯云智能体开发平台 OpenClaw 在

    2026年3月13日
    2
  • mysql左连接查询慢[通俗易懂]

    mysql左连接查询慢[通俗易懂]之前一直用的Oracle,今天用mysql查询一个很普通的左连接的时候,发现速度很慢。selectx.fid,x.isbirt,x.fscoresum,x.fsystemscore,x.feffectivescorefromtableaxleftjointablebhonx.fitemid=h.fidwhereh.fprojectid=’’这个sql耗时:2s多。我有点吓到了,后来我百度后发现然后我换了表的位置selectx.fid,x.isbirt,x.fsc

    2022年5月22日
    62
  • Java0xffffffff为什么表示为-1

    Java0xffffffff为什么表示为-1inti=0xffffffff;System.out.println(i);输出-1上面的程序有个问题为什么inti=0xffffffff;没有报溢出错误,且输出为-1?因为0xffffffff实际是二进制,程序中任何十进制,八进制,16进制的数在计算机底层都是二进制,表示成X进制只是为了让人看明白,所以0xffffffff在电脑中就是32个1,而不是2的32次…

    2022年5月16日
    43
  • markdown导出为html_python html转word

    markdown导出为html_python html转word关于前端HTML转换为Markdown,发现了一个非常好用的npm项目:https://sitdown.mdnice.com/zh-hans/首先确保本机已经安装nodejs,并根据下面的文章安装execjs并修改其源码:execjs执行包含中文参数的JavaScripthttps://xxmdmst.blog.csdn.net/article/details/123099139在python所在目录安装sitdown:>npminstallsitdownadded2pac

    2025年10月2日
    4
  • 华为P40怎么解账号锁P40Pro忘记密码ID账号锁解除方案开机设备解锁帐号软件使用方法

    华为P40怎么解账号锁P40Pro忘记密码ID账号锁解除方案开机设备解锁帐号软件使用方法​今天带来一台用户华为mate30手机强制清除华为账号锁案例分享,这个台手机是用户公司手机,由于前使用者离职后未能退出手机的华为账号和锁屏密码,导致手机无法使用。自己通过简单的恢复出厂设置后,发现手机有华为账号锁无法激活手机,这才联系到刷机爱好者技术人员,给予远程强制刷机移除华为mate30的账号锁。在此提醒广大用户,登录的华为账号建议绑定经常使用的手机号码,防止无法找回密码从而到时手机无法使用。在刷机解锁过程中需要准备以下工具:准备windwos系统电脑一台,有条件的用户可以找台配置.

    2022年6月23日
    130
  • 模拟赛【20190802】phantasm

    模拟赛【20190802】phantasm然鹅没有noip这个东西了。所以名字改成了CSP模拟,手动滑稽。【问题描述】求b序列共有多少个。【解题思路】然后再用隔板法计数:转载于:https://www.cnblogs.com/ve-2021/p/11508014.html…

    2022年5月7日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号