Nexus3常用功能备忘

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

关于nexus3

Java开发者常在内网部署nexus3作为以下用途:

中央仓库的的缓存;

内网私有仓库;

接下来分别实战这两个功能

环境信息

nexus3版本:3.19.1

maven版本:3.6.3

JDK:1.8.0_191

nexus3的部署

本文聚焦nexus3的使用,不在此讨论部署的细节,推荐使用docker来部署,我这里是在一台家用NAS上通过docker部署的,详情可参考《群晖DS218+做maven私服(nexus3)》

新建仓库用作缓存

这里的中央仓库选用阿里云的,速度和稳定性都比较出色:

新建仓库的操作如下图:

在这里插入图片描述

在类型选择页面选中maven2(proxy),如下图红框:

在这里插入图片描述

接下来的页面只要填两处,名字:aliyun-proxy,remote storage: ,如下图红框:

在这里插入图片描述

提交表单后回到列表页面,在新增的仓库上点击copy按钮即可得到仓库地址,如下图:

在这里插入图片描述

记下这个仓库的地址(:8081/repository/aliyun-proxy/),内网所有电脑都能从这里地址获取中央仓库jar包,设置方法后面会说到;

新建仓库用作私有仓库

对于中央仓库没有的jar,以及项目中发布的二方库,都可以存放到私有仓库;

再新建一个仓库,类型选择maven2(hosted),如下图红框:

在这里插入图片描述

名字:nexus-private,其他的不需要修改:

在这里插入图片描述

这里要注意的是,如果您创建的私有仓库用来保存自己发布的二方库,最好建两个,一个用来保存正式发布的,Version policy类型:Release,另一个保存开发中的(maven本地不缓存),Version policy类型是Snapshot,本文为了简单起见只建了一个Release类型的;

记下这个仓库的地址::8081/repository/nexus-private/

至此,仓库创建完毕,我们一共有以下两个仓库:
缓存型::8081/repository/aliyun-proxy/
本地私有型::8081/repository/nexus-private/

有了仓库,接下来设置开发环境上的Maven了;

Maven设置(使用缓存仓库)

先做aliyun-proxy仓库的设置,这样就可以使用nexus3的缓存功能了:

打开maven的配置文件settings.xml;

找到mirrors节点,增加一个server而配置,内容如下:

<mirror> <id>aliyun-proxy</id> <mirrorOf>*</mirrorOf> <url>:8081/repository/aliyun-proxy/</url> </mirror>

缓存仓库的设置已经完成了,接下来通过构建maven工程验证一下,下面是个最简单的maven工程的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 "> <modelVersion>4.0.0</modelVersion> <groupId>com.bolingcavalry</groupId> <artifactId>nexus3demo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version> </dependency> </dependencies> </project>

在pom.xml所在目录执行命令:mvn clean compile -U -DskipTests ,如下图,可见是通过nexus3下载中央仓库的jar,然后项目构建成功:

在这里插入图片描述

中央仓库不存在的jar

私有仓库的一个重要功能,就是提供中央仓库之外的jar下载,接下来举个例子:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyjyff.html