Nexus3部署、配置+SpringBoot项目Demo
Docker部署Nexus
搜索Nexus3镜像:[root@localhost ~]# docker search nexus
拉取Nexus3镜像:[root@localhost ~]# docker pull sonatype/nexus3
启动Nexus3前查看虚拟机端口是否被占用:[root@localhost ~]# netstat -nultp
通过Docker Hub查看安装步骤
添加docker自启动服务,具体启动命令如下:
docker run -d -p 8081:8081 --restart=always --name nexus sonatype/nexus3
当然也可以通过挂载宿主机方式安装,按需在网上找一些路径。到此安装结束了,登录地址如下:
http://192.168.56.100:8081/
第一次登录需要输入admin密码:
命令行登录容器内部: [root@localhost ~]# docker exec -it af765874d009 /bin/bash
cat /nexus-data/admin.password 查看密码。登录之后修改一下密码即可。
配置
仓库-存储配置
导航至 Repository-->Blob Stores,配置对象存储。
default是系统自带默认的,要注意的是这两个存储都需要设置大小限制,否则很容易把硬盘撑爆。
仓库-清理策略
导航至 Repository-->Cleanup Policies,配置存储清理策略。
仓库-仓库配置
导航至 Repository-->Repositories,配置仓库。
仓库有三种类型,如下:
- proxy,代理仓库,也就是对外部仓库的代理,这个仓库是只读的,并且可以缓存。
- hosted,托管仓库,也就是所谓私库了,可以上传包到这个仓库。
- group,仓库组,这是一个容器,它可以包含多个proxy,hosted或其他group仓库,它的作用就是让开发人员引用的时候只要填一个URL,这也是只读的。
proxy如下:
hosted如下:
Release 正式版本的 jar 包, POM模块声明的version如果包含snapshot字样则发布到snapshots,否则发布到releases库。例如:<version>1.0.1</version>
Snapshot 测试版本 jar 包 ,POM模块声明的version如果包含snapshot字样则发布到snapshots,否则发布到releases库。例如:<version>0.0.1-SNAPSHOT</version>
group仓库如下:
Nexus Maven配置说明
<mirrors><!--<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>--><mirror><id>maven-public</id><!--<mirrorOf>*</mirrorOf>--><mirrorOf>central</mirrorOf><name>maven-public</name><url>http://192.168.56.100:8081/repository/maven-public/</url></mirror></mirrors>
Maven的mirrorOf配置
在 maven 的配置文件 setting.xml 中已经配置了 aliyun 仓库,配置如下:
<mirror><id>aliyun maven</id><name>aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>*</mirrorOf>
</mirror>
默认是所有的请求都会转到阿里云下载,但是有些依赖包又不在 aliyun 仓库,其实开发在pom.xml 是指定了依赖包的仓库地址的,因为以上的配置将所有依赖包的下载都拦截,转到了阿里云,关键就在于 mirroOf
的配置。
以下是关于 mirrorOf
字段的配置
* = 表示拦截所有请求,使用该仓库
external:* = 表示本地仓库的中没有的依赖才会使用该仓库
central = 表示拦截去中央仓库的请求,使用该仓库
# setting.xml不做任何配置时就是使用的中央仓库,也就是maven官方仓库https://repo.maven.apache.org/maven2
*,!repo_id = 除repo_id这个依赖包外,其他依赖都是用该仓库
repo1,repo2 = 表示只有 repo1 和 repo2 的依赖包才会使用该仓库,会代替pom的配置
开发在 pom 中是配置了依赖包的指定仓库的,如下
<repository><id>getui-nexus</id><url>http://mvn.gt.igexin.com/nexus/content/repositories/releases/</url>
</repository>
如果此时 getui-nexus 依赖包无法下载,报错 Cannot resolve com.gexin.platform:gexin-rp-sdk-http:4.1.1.4
,修改 maven 配置文件。
<!-- 在maven安装目录下的conf/setting.xml -->
<mirror><id>aliyun maven</id><name>aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>*,!getui-nexus</mirrorOf> <!-- 关注这条即可,与pom中的id对应 -->
</mirror>
此时再进行构建,下载 getui-nexus 依赖包则不会从阿里云仓库下载,会从项目的pom里面找仓库下载。
或者
<!-- 在maven安装目录下的conf/setting.xml -->
<mirror><id>aliyun maven</id><name>aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf> <!-- 关注这条即可,与pom中的id对应 -->
</mirror>
Maven访问仓库顺序
本地仓库—>私服(profile)—>远程仓库(repository)—>镜像仓库(mirror)—>中央仓库(central)
简化一下范围,一共分为本地、私服、远程3中仓库类型,远程、镜像、中央仓库都属于时远程仓库优先级为 本地>私服>远程。
Demo提交仓库
利用Spring官网模板创建Springboot项目:
Springboot项目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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.14-SNAPSHOT</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.xuhuan</groupId><artifactId>springboot-demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><distributionManagement><repository><uniqueVersion>false</uniqueVersion><id>maven-releases</id><name>maven-releases</name><url>http://192.168.56.100:8081/repository/maven-releases/</url></repository><snapshotRepository><uniqueVersion>false</uniqueVersion><id>maven-snapshots</id><name>maven-snapshots</name><url>http://192.168.56.100:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>
</project>
最后清理,打包,发布到Nexus私服。
相关文章:

Nexus3部署、配置+SpringBoot项目Demo
Docker部署Nexus 搜索Nexus3镜像:[rootlocalhost ~]# docker search nexus 拉取Nexus3镜像:[rootlocalhost ~]# docker pull sonatype/nexus3 启动Nexus3前查看虚拟机端口是否被占用:[rootlocalhost ~]# netstat -nultp 通过Docker Hub查看安…...

linux下用docker安装mysql
1.mysql Docker镜像 docker pull mysql:[版本号 或 latest]例:docker pull mysql:5.7 2.查看拉取的docker镜像 docker images3.设置 Docker 卷 docker volume create mysql-data列出 Docker 已知的所有卷 docker volume ls4.运行一个 MySQL Docker 容器 docke…...

Vue - 可视化用户角色、菜单权限、按钮权限配置(动态获取菜单路由)
GitHub Demo 地址 在线预览 前言 关于动态获取路由已在这里给出方案 Vue - vue-admin-template模板项目改造:动态获取菜单路由 这里是在此基础上添加了系统管理模块,包含用户管理,角色管理,菜单管理,字典管理…...
hive库操作示例
hive库操作示例 1、常规表 创建数据库 CREATE DATABASE mydatabase;使用数据库 USE mydatabase;创建表 CREATE TABLE mytable (id INT,name STRING,age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY , STORED AS TEXTFILE;插入数据 INSERT INTO TABLE mytable VALUE…...

LeetCode第 N 个泰波那契数 (认识动态规划)
认识动态规划 编写代码代码空间优化 链接: 第 N 个泰波那契数 编写代码 class Solution { public:int tribonacci(int n) {if(n 0){return 0;}else{if(n 1 || n 2)return 1;}vector<int> dp(n 1);dp[0] 0;dp[1] 1;dp[2] 1;for(int i 3;i < n;i){dp[i] dp[i-3]…...
线程安全问题(内存可见性)
导致的原因 内存可见性问题的出现主要是因为编译器优化多线程导致的 示例代码 package 线程安全问题;import java.util.Scanner;/*** Created with IntelliJ IDEA.* Description:* User: wuyulin* Date: 2023-07-26* Time: 13:49*/ public class Demo2 {private volatile sta…...

STM32MX配置EEPROM(AT24C02)------保姆级教程
———————————————————————————————————— ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大三学生。 ⏩最近在开发一个STM32H723ZGT6的板子,使用STM32CUBEMX做了很多驱动&#x…...

微信小程序 样式和全局配置
WXSS wxss 把屏幕分为750个物理像素,大屏大,小屏小,随着设备不一致自动适配 推荐使用iPhone6作为标准,1个rpx 0.5个px,把px乘以2就是rpx的参数 import 导入外部样式表 import /common/common.wxss 样式 权重一…...
一.初识C语言
一.初识C语言 C语言标准规定: sizeof(long)>sizeof(int)就可以了变量要定义在当前代码块的最前面 #defin _CRT_SECURE_NO_WARNINGS 1#include <stdio.h> //包含一个stdio.h的文件 std-标准standard input outputint main() //主函数-程序的入口-main函数…...
filebeat到kafka示例
docker run -d \ --namefilebeat_7.14_0 \ #filebeat名称 --userroot \ --volume"/data/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml" \ #映射filebeat.yml配置 --volume"/data/filebeat/log:/usr/share/filebeat/log" \…...
AlmaLinux系统下的Zabbix汉化
我安装的是zabbix下的虚拟机,安装完成后,直接可以打开网站了,但是界面是英文,看了设置,没有中文选项,就需要在系统中安装中文字符集了。 # locale -a #查看里面没有zh_CN之类的项 # dnf install -…...

【网络编程】(TCP流套接字编程 ServerSocket API Socket API 手写TCP版本的回显服务器 TCP中的长短连接)
文章目录 网络编程TCP流套接字编程ServerSocket APISocket APITCP中的长短连接手写TCP版本的回显服务器 网络编程 TCP流套接字编程 TCP提供的API主要是两个类:ServerSocket 和 Socket . TCP不需要一个类来表示"TCP数据报"因为TCP不是以数据报为单位进行传输的.是以…...

企业级PaaS低代码快开平台源码,基于 Salesforce Platform 的开源替代方案
PaaS低代码快开平台是一种快速开发应用系统的工具,用户通过少量代码甚至不写代码就可以快速构建出各种应用系统。 随着信息化技术的发展,企业对信息化开发的需求正在逐渐改变,传统的定制开发已经无法满足企业需求。低代码开发平台࿰…...
【LeetCode】72.编辑距离
题目 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例 1: 输入:word1 "horse", word2 "…...

大模型,开源干不掉闭源
开源大模型对闭源大模型的冲击,变得非常猛烈。 今年3月,Meta发布了Llama(羊驼),很快成为AI社区内最强大的开源大模型,也是许多模型的基座模型。有人戏称,当前的大模型集群,就是一堆各…...

Redis 九种数据类型的基本操作
一、redis9种数据类型的基本操作 ①key操作 #查找所有的key 127.0.0.1:6379> keys * 1) "pop" 2) "mylist" 3) "lpl" 4) "myset" #设置key的过期时间 返回1表示执行成功,0表示失败,出现问题 127.0.0.1:6379…...

爬取微博热搜榜并进行数据分析
设计方案 爬虫爬取的内容 :爬取微博热搜榜数据。 网络爬虫设计方案概述 用requests库访问页面用get方法获取页面资源,登录页面对页面HTML进行分析,用beautifulsoup库获取并提取自己所需要的信息。再讲数据保存到CSV文件中,进行…...

基于深度神经网络的肺炎检测系统实现
一、说在前面 使用AI进行新冠肺炎图像诊断可以加快病例的诊断速度,提高诊断的准确性,并在大规模筛查中发挥重要作用,从而更好地控制和管理这一流行病。然而,需要强调的是,AI技术仅作为辅助手段,最终的诊断决…...
C# LINQ和Lambda表达式对照
C# LINQ和Lambda表达式对照 1. 基本查询语句 Linq语法: var datafrom a in db.Areas select a ; Lamda语法: var datadb.Areas; sql语法: SELECT * FROM Areas2. 简单的WHERE语句 Linq语法: var datafrom a in db.orderI…...

二、SQL-6.DCL-1).用户管理
一、DCL介绍 Data Control Language 数据控制语言 用来管理数据库 用户、控制数据库的 访问权限。 二、语法 1、管理用户 管理用户在系统数据库mysql中的user表中创建、删除一个用户,需要Host(主机名)和User(用户名࿰…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...