Nexus3常用功能备忘

简介: 将日常用到的nexus3功能和配置记录下来

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos

关于nexus3

  • Java开发者常在内网部署nexus3作为以下用途:
  1. 中央仓库的的缓存;
  2. 内网私有仓库;
  • 接下来分别实战这两个功能;

环境信息

  1. nexus3版本:3.19.1
  2. maven版本:3.6.3
  3. JDK:1.8.0_191

nexus3的部署

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

新建仓库用作缓存

  • 这里的中央仓库选用阿里云的,速度和稳定性都比较出色:
  • 新建仓库的操作如下图:

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

新建仓库用作私有仓库

  • 对于中央仓库没有的jar,以及项目中发布的二方库,都可以存放到私有仓库;
  • 再新建一个仓库,类型选择maven2(hosted),如下图红框:

在这里插入图片描述

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

在这里插入图片描述

  • 这里要注意的是,如果您创建的私有仓库用来保存自己发布的二方库,最好建两个,一个用来保存正式发布的,Version policy类型:Release,另一个保存开发中的(maven本地不缓存),Version policy类型是Snapshot,本文为了简单起见只建了一个Release类型的;
  • 记下这个仓库的地址:http://192.168.50.43:8081/repository/nexus-private/
  • 至此,仓库创建完毕,我们一共有以下两个仓库:

缓存型http://192.168.50.43:8081/repository/aliyun-proxy/
本地私有型http://192.168.50.43:8081/repository/nexus-private/

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

Maven设置(使用缓存仓库)

  • 先做aliyun-proxy仓库的设置,这样就可以使用nexus3的缓存功能了:
  • 打开maven的配置文件settings.xml
  • 找到mirrors节点,增加一个server而配置,内容如下:
<mirror>
  <id>aliyun-proxy</id>
  <mirrorOf>*</mirrorOf>
  <url>http://192.168.50.43: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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <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下载,接下来举个例子:
  • 在pom.xml中添加一个中央仓库不存在的jar:
<dependency>
  <groupId>io.confluent</groupId>
  <artifactId>kafka-schema-registry-client</artifactId>
  <version>3.3.1</version>
</dependency>
  • 再去构建就会报错:

3.

  • 上述问题是常见的,有的jar没有发布到中央仓库,用maven构建时找不到就报错了。

上传jar到私有仓库

在这里插入图片描述

  • 填写表单,按照下图步骤操作,把jar文件提交到nexus3:

在这里插入图片描述

  • 现在私有仓库中已经有jar了,接下来看看maven如何使用这个jar文件;

maven使用私有仓库

  • 打开maven的配置文件settings.xml;
  • 找到profiles节点,增加一个profile的配置,内容如下:

在这里插入图片描述

  • 找到activeProfiles节点,增加一个activeProfile而配置,内容如下:
<activeProfile>nexus3</activeProfile>
  • 找到刚才新增的mirror,修改其mirrorOf节点的值,修改后的mirror节点值如下:
<mirror>
  <id>aliyun-proxy</id>
  <mirrorOf>external:local-nexus3</mirrorOf>
  <url>http://192.168.50.43:8081/repository/aliyun-proxy/</url>
</mirror>
  • mirrorOf的值从之前的*改成external:local-nexus3,是做了转发逻辑的排除操作,这样做了之后,local-nexus3仓库的请求会转发到私有仓库,而其他所有的请求都转发到了缓存仓库aliyun-proxy
  • 再次构建刚才的maven项目,这次终于构建成功了,如下图,kafka-schema-registry-client相关的数据都从私有仓库下载:

在这里插入图片描述

  • 至此,nexus3常用的缓存和私有仓库功能都尝试过了,如果您正在搭建私有maven仓库,希望本文能够给您提供参考。

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关文章
|
5月前
|
Java 程序员 开发工具
猿如意|IntelliJ IDEA Community下载安装以及基础开发设置和快捷键设置的详细教程
猿如意|IntelliJ IDEA Community下载安装以及基础开发设置和快捷键设置的详细教程
|
5月前
|
API 数据库 数据安全/隐私保护
typecho粘贴自动下载远程附件一款提高生产力的插件
为什么要诞生这样的插件呢? 因为本人习惯在typora上写markdown,然后复制到typecho等平台,但每次都要重新上传图片,生成本地链接,实在是打击写作的热情! 我曾也在picgo上做过文章,可是typecho抽离一个上传API真的好麻烦!举个例子来说,你得判断cid是多少,我们在typora写,谁知道未自增的cid字段多少呢???
69 0
|
6月前
|
网络安全 开发工具 数据安全/隐私保护
sourcetree安装与简单使用图文说明(非常详细)
​ 1、下载 点击此处下载sourcetree 弹窗勾选同意相关协议,点击“Download”按钮下载即可 2、安装 1)双击下载的sourcetree安装包  如图所示,选择Bitbucket方式(如代码仓库放在Bitbucket服务器,可选择Bitbucket服务器方式输入地址和用户名,再在弹窗中输入密码即可,本文只针对Bitbucket方式) 关于Bitbucket的登录注册,这里不做过多赘述,有不明白的同学欢迎留言讨论 2)登录成功,点击“下一步”按钮 3)继续点击“下一步”按钮 4)配置偏好设置信息,点击“下一步”按钮 这里就是安装成功后上传代码会显示的用户名和对
188 1
|
10月前
|
JSON Rust 数据可视化
这款 Git 信息可视化工具,你一定要试试!
项目源码地址:docs.qq.com/doc/DVHRQUVhKVkN2dUha
120 0
|
缓存 Shell 网络安全
最新版Git(2.32.0)下载安装教程,简单明了 附带idea配置
最新版Git(2.32.0)下载安装教程,简单明了 附带idea配置
410 0
最新版Git(2.32.0)下载安装教程,简单明了 附带idea配置
|
Java Maven 开发工具
首次安装必备!idea最常用设置(配置),让开发更顺手
首次安装必备!idea最常用设置(配置),让开发更顺手
4276 0
首次安装必备!idea最常用设置(配置),让开发更顺手
|
Java Linux 网络安全
Linux安装Nexus(图文解说详细版)
Linux安装Nexus(图文解说详细版)
Linux安装Nexus(图文解说详细版)
|
开发工具 git 微服务
SVN的安装及汉化、IDEA中整合SVN使用详情[2021-11-1最新详细教学]
SVN的安装及汉化、IDEA中整合SVN使用详情[2021-11-1最新详细教学]
123 0
SVN的安装及汉化、IDEA中整合SVN使用详情[2021-11-1最新详细教学]
|
Java 数据库连接 数据库
最新版IDEA配置常用工具模板
在使用 InelliJ IDEA 的过程中,如果能熟练的配置常用模块应用于实际开发过程中,效率将大大提高!!! Try it !
137 0
最新版IDEA配置常用工具模板
Idea: 集成本地三方软件-以Typora打开Markdown文件为例
Idea: 集成本地三方软件-以Typora打开Markdown文件为例
430 0
Idea: 集成本地三方软件-以Typora打开Markdown文件为例