【Java架构-包管理工具】-Maven私服搭建-Nexus(三)

本文摘要

Maven作为Java后端使用频率非常高的一款依赖管理工具,在此咱们由浅入深,分三篇文章(Maven基础、Maven进阶、私服搭建)来深入学习Maven,此篇为开篇主要介绍Maven私服搭建-Nexus


文章目录

  • 本文摘要
  • 1. Nexus安装
  • 2. Nexus配置
  • 3. Nexus仓库类型
  • 4.发布依赖
    • 4.1 配置仓库用户名密码
    • 4.2 配置上传仓库地址
    • 4.3 上传依赖
    • 4.4 查看Nexus仓库
    • 4.5 下载依赖
      • 4.5.1 setting.xml(mirror)配置
      • 4.5.2 pom.xml(repositories)配置
      • 4.5.3 settings.xml(profiles)配置
  • 6. 安装三方依赖
    • 6.1 安装至本地
    • 6.2 上传至私服


1. Nexus安装

使用Docker进行安装

  • 拉取镜像
    docker pull sonatype/nexus3
  • 启动镜像
    docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3

2. Nexus配置

# Jetty section
# 端口,可以修改
# application-port=8081
# application-host=0.0.0.0
# nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
# nexus-context-path=/${NEXUS_CONTEXT}# Nexus section
# nexus-edition=nexus-pro-edition
# nexus-features=\
#  nexus-pro-feature
# nexus.clustered=false

3. Nexus仓库类型

在这里插入图片描述

  • hosted:表示用户自己上传的依赖将会上传至该仓库
  • proxy:表示代理远程仓库地址
  • group:用来组合hosted/proxy仓库,下载依赖将从该仓库下载

4.发布依赖

4.1 配置仓库用户名密码

setting.xml 文件中配置

<!-- 定义稳定版本的id名称,用户名密码 -->
<server><id>releases</id><username>admin</username><password>admin123</password>
</server>
<!-- 定义开发版本的id名称,用户名密码 -->
<server><id>snapshots</id><username>admin</username><password>admin123</password>
</server>

4.2 配置上传仓库地址

需要上传至径服所在项目pom.xml文件中配置

<distributionManagement><repository><id>releases</id><url>http://nas:18081/repository/maven-releases/</url></repository><snapshotRepository><id>snapshots</id><url>http://nas:18081/repository/maven-snapshots/</url></snapshotRepository>
</distributionManagement>

4.3 上传依赖

idea中点击deploy

在这里插入图片描述

4.4 查看Nexus仓库

在这里插入图片描述

4.5 下载依赖

4.5.1 setting.xml(mirror)配置

该配置方案存在问题:无法拉取SNAPSHOT依赖

<mirrors><mirror><!--    配置id  --><id>nexus</id><!--     配置拦截仓库,*表示拦截所有仓库拉取请求 --><mirrorOf>*</mirrorOf><name>nexus</name><!--     配置仓库地址  --><url>http://nas:18081/repository/maven-public/</url></mirror>
</mirrors>

4.5.2 pom.xml(repositories)配置

该配置方案存在问题:该种方式只能针对某个项目下载依赖

<repositories><repository><id>nexus</id><name>nexus</name><url>http://nas:18081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>
</repositories>
<pluginRepositories><pluginRepository><id>public</id><url>http://nas:18081/repository/maven-public/</url><name>pluginRepositories</name></pluginRepository>
</pluginRepositories>

4.5.3 settings.xml(profiles)配置

该种配置方式全局配置,可以根据需求选择配置方案,生产中选择该方式

<profiles><!-- 下载jar包配置 --><profile><!--profile的id --><id>dev</id><repositories><repository> <!--仓库id,repositories可以配置多个仓库,保证id不重复 --><id>nexus</id> <!--仓库地址,即nexus仓库组的地址 --><url>http://nas:18081/repository/maven-public/</url> <!--是否下载releases构件 --><releases><enabled>true</enabled></releases> <!--是否下载snapshots构件 --><snapshots><enabled>true</enabled></snapshots></repository></repositories><pluginRepositories> <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 --><pluginRepository> <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 --><id>public</id><name>Public Repositories</name><url>http://nas:18081/repository/maven-public/</url></pluginRepository></pluginRepositories></profile>
</profiles>
<!-- 选择那一个配置 -->
<activeProfiles><activeProfile>dev</activeProfile>
</activeProfiles>

6. 安装三方依赖

6.1 安装至本地

mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar

6.2 上传至私服

mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8079/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/113139.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无涯教程-聚类算法 - Mean-Shift

如前所述&#xff0c;它是在无监督学习中使用的另一种强大的聚类算法&#xff0c;与K均值聚类不同&#xff0c;它不做任何假设&#xff0c;因此&#xff0c;它是一种非参数算法。 均值平移算法基本上是通过将数据点移向最高密度的数据点(即群集质心)来迭代地将数据点分配给群集…

数据集学习笔记(七):不同任务数据集的标签介绍(包含目标检测、图像分割、行为分析)

文章目录 一、目标检测1.1 TXT1.2 COCO1.3 XML 二、图像分割2.1 json2.1 TXT2.1.1 json转txt 三、行为分析3.1 TXT3.2 JSON 一、目标检测 1.1 TXT 每行表示&#xff08;类别&#xff0c;中心x相对坐标&#xff0c;中心y相对坐标&#xff0c;相对宽度、相对高度&#xff09; 1…

Java基础二十一(异常捕获和处理)

1. 异常 1.1 概述 (1) 认识异常 异常是指程序在运行过程中出现非正常情况。 (2) Java 异常体系结构 所有异常类都是 Throwable 类的子类&#xff0c;它派生出两个子类&#xff0c;Error 类和 Exception 类。 &#xff08;1&#xff09;Error 类 : 表示程序无法恢复的严重错误…

论文阅读 FCOS: Fully Convolutional One-Stage Object Detection

文章目录 FCOS: Fully Convolutional One-Stage Object DetectionAbstract1. Introduction2. Related Work3. Our Approach3.1. Fully Convolutional One-Stage Object Detector3.2. Multi-level Prediction with FPN for FCOS3.3. Center-ness for FCOS 4. Experiments4.1. Ab…

Jmeter和Postman那个工具更适合做接口测试?

软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中&#xff0c;有高手&#xff0c;自然也会有小白&#xff0c;但有一点我们无法否认&#xff0c;就是每一个高手都是从小白开始的&#xff0c;所以今天我们就来谈谈一大部分人在做的接口测试&#xff0c;小白变高手…

【单片机】有人 WH-LTE-7S1 4G cat1 模块,HTTPD模式,字符串传输,文件传输。GPRS模块连接服务器教程。

文章目录 1、配置模块为HTTPD模式 POST字符串传输2、配置模块为HTTPD模式 GET请求3、 上一篇文章&#xff1a;https://qq742971636.blog.csdn.net/article/details/132571592 在上一篇文章里&#xff0c;已经通过TCP 长链接进行服务器与Cat1 GPRS 模块进行双向通信。已经能够满…

(一)SpringBoot 整合WebSocket 前端 uniapp 访问

第一次使用WebSocket&#xff0c;所以最需要一个及其简单的例子&#xff0c;跑通之后&#xff0c;增加自己对该技术的理解。&#xff08;技术基础介绍就免掉了&#xff0c;后面再补&#xff09; 案例逻辑&#xff1a;目前只有一个用户&#xff0c;而且是一个用户给服务器发送数…

Python 画多个子图函数 subplot

子图函数 subplot 若要 pyplot 一次生成多个图形&#xff0c;一般要用到subplot函数&#xff0c;另外还有一个subplots函数。两个函数比较接近但略有区别&#xff0c;限于篇幅&#xff0c;我们只介绍 subplot函数&#xff0c;它的基本语法如下&#xff1a; ax plt.subplot(n…

搬家快递服务小程序的便利性

在当今快节奏的生活中&#xff0c;搬家可能是很多人都需要面对的问题。无论是新房子还是新办公室&#xff0c;都需要高效、便捷的搬家服务。本文将介绍如何使用第三方小程序制作平台&#xff0c;如乔拓云平台&#xff0c;开发一款高效便捷的搬家服务小程序。 1. 注册登录第三方…

模拟实现应用层协议

模拟实现应用层协议 文章目录 模拟实现应用层协议应用层再谈协议 序列化和反序列化 网络版计算器自定义协议利用Json进行序列化和反序列化json库的安装条件编译 应用层 应用层&#xff08;Application layer&#xff09;是OSI模型的第七层。应用层直接和应用程序接口并提供常见…

AI:05 - 基于深度学习的道路交通信号灯的检测与识别

随着人工智能的快速发展,基于深度学习的视觉算法在道路交通领域中起到了重要作用。本文将探讨如何利用深度学习技术实现道路交通信号灯的检测与识别,通过多处代码实例展示技术深度。 道路交通信号灯是指示交通参与者行驶和停止的重要信号。准确地检测和识别交通信号灯对于智…

06.sqlite3学习——DQL(数据查询)(全)

目录 SQLite——DQL&#xff08;数据查询&#xff09; 数据集 select语句 条件查询 比较 确定范围 确定集合 like 查询记录 查询不重复的记录 排序和限制 排序 限制 聚合 聚合函数 语法 SQLite Group By详解 语法 实例 SQLite Having 子句 语法 实例 多…

Linux通信--构建进程通信System-V 消息队列|信号量

文章目录 目录 一、消息队列 二、信号量 1.互斥 2.信号量 一、消息队列 消息队列提供了从一个进程向另一个进程发送数据块的方法每个数据块都被认为是有一个类型&#xff0c;接收者进程接收的数据块可以有不同的类型值IPC资源必须删除&#xff0c;不会随进程自动清楚&#…

webrtc-m79-msvc编译H264

0 写在前面 本文主要参考&#xff1a;webrtc 4577版本vs编译_tusong86的博客-CSDN博客 4577也就是m93&#xff0c;由于源码版本的不同&#xff0c;可能存在一定的出入&#xff0c;可根据实际情况进行修改&#xff1b; 感谢作者的付出&#xff1b; 1 编译参数 powershell运…

【git】Idea撤回本地分支、或远程分支提交记录的各种实际场景操作步骤

文章目录 idea撤回本地分支、远程分支场景操作集合场景1&#xff1a;要撤回最后一次本地分支的提交实现效果&#xff1a;操作步骤&#xff1a; 场景2&#xff1a;要撤回最后一次远程分支的提交有撤销记录的&#xff1a;实现效果&#xff1a;操作步骤&#xff1a; 无撤销记录的&…

数据分析基础-数据可视化学习笔记03-可视化的符号与表示-图形符号学

概念 图型符号学&#xff08;Cartographic Symbolization&#xff09;是地图学领域中的一个重要概念&#xff0c;涉及到如何使用不同的符号、颜色、图案和标记来在地图上表示地理信息和数据。图型符号学旨在传达地理信息&#xff0c;使得地图能够清晰、有效地传达各种空间数据…

微信小程序scroll-view隐藏滚动条参数不生效问题

如题&#xff0c;先来看看问题是怎么出现的。 先看文档如何隐藏滚动条&#xff1a; 再根据文档实现wxml文件&#xff1a; <scroll-view show-scrollbar"{{false}}" enhanced><view wx:for"{{1000}}">11111</view> </scroll-view>…

pytorch异常——RuntimeError:Given groups=1, weight of size..., expected of...

文章目录 省流异常报错异常截图异常代码原因解释修正代码执行结果 省流 nn.Conv2d 需要的输入张量格式为 (batch_size, channels, height, width)&#xff0c;但您的示例输入张量 x 是 (batch_size, height, width, channels)。因此&#xff0c;需要对输入张量进行转置。 注意…

探索未知世界:桌面端3D GIS引领地理信息新时代

近年来&#xff0c;桌面端的三维地理信息系统&#xff08;3D GIS&#xff09;在地理信息领域迎来了显著的发展&#xff0c;为我们带来了更深入、更丰富的地理空间认知和数据分析体验。从城市规划到环境保护&#xff0c;从资源管理到应急响应&#xff0c;桌面端的3D GIS正逐渐成…

day 30 动态GDP柱状图绘制

列表.sort(key选择排序依据的函数&#xff0c;reverseTrue|False) 参数key:要求传入一个函数&#xff0c;表示将列表的每一个元素传入函数当中&#xff0c;返回排序的依据&#xff0c; 参数reverse,是否反转排序结果&#xff0c;True降序&#xff0c;False升序 my_list [[&…