大家好,又见面了,我是你们的朋友全栈君。
一、Nexus 简介
nexus是一个强大的maven仓库管理器(私服),它极大的简化了本地内部仓库的维护和外部仓库的访问
特点:
- 节省外网带宽。
- 加速
Maven构建。 - 部署第三方构件。
- 提高稳定性,增强控制。
- 降低中央仓库的负荷。
- 控制和审计
- 建立本地内部公用仓库
Nexus 仓库类型:
hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
二、Nexus 安装
下载Nexus好以后解压会有两个文件夹:nexus的和sonatype-work。前者是功能的实现,后者负责存储数据。
进入nexus的bin目录下:启动(nexus.exe /run) ,启动之后访问http://localhost:8081/,点击Browse可以看到4个默认的仓库

说明:
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jarmaven-releases:私库发行版jarmaven-snapshots:私库快照(调试版本)jarmaven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
如果不够用,自己也可以根据上面的仓库类型进行选用创建。
三、Maven 使用 Nexus 仓库
3.1 上传 jar 包
上传jar包需要认证,修改Maven的配置文件settings.xml里servers标签下配置:
<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可以随意

执行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
