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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Oracle创建本地数据库实例及配置「建议收藏」

    Oracle创建本地数据库实例及配置「建议收藏」        因为以前一直都是用的mysql的数据库,所以当新工作中用到Oracle数据库的时候,一时还有点不习惯,特别是一直连接的远程数据库,更是麻烦,所以就想在本地创建一个Oracle的数据库,然后导入数据库的备份文件方便使用。然而看似简单的东西,真正动起手来,却也还是花了好一会儿工夫也才解决。所以希望能够把安装的过程记录下来,不仅方便自己以后查阅,也能督促自己开始写博客(3年前就有这样的想…

    2022年5月31日
    133
  • pycharm激活码20120破解方法

    pycharm激活码20120破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    44
  • copy.deepcopy()_python切片是深拷贝还是浅拷贝

    copy.deepcopy()_python切片是深拷贝还是浅拷贝copy()与deepcopy()之间的主要区别是python对数据的存储方式。首先直接上结论:—–我们寻常意义的复制就是深复制,即将被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复制出来的新对象产生影响。—–而浅复制并不会产生一个独立的对象单独存在,他只是将原有的数据块打上一个新标签,所以当其中一个标签被改变的时候,数据块就会发生变化

    2022年10月3日
    2
  • 原创收藏室_如何把收藏网页添加到首页

    原创收藏室_如何把收藏网页添加到首页JavaScript代码://设为首页functionSetHome(obj,url){try{obj.style.behavior=’url(#default#homepage)’;obj.setHomePage(url);}catch(e){if(window.netscape){…

    2022年9月26日
    2
  • navicate15 激活码(注册激活)

    (navicate15 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/ide…

    2022年3月26日
    723
  • 精馏装置流程图_枪的构造原理

    精馏装置流程图_枪的构造原理1.什么是CA证书。看过一些博客,写的比较形象具体。◇普通的介绍信想必大伙儿都听说过介绍信的例子吧?假设A公司的张三先生要到B公司去拜访,但是B公司的所有人都不认识他,他咋办捏?常

    2022年8月3日
    5

发表回复

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

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