当前位置: 首页 > news >正文

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镜像&#xff1a;[rootlocalhost ~]# docker search nexus 拉取Nexus3镜像&#xff1a;[rootlocalhost ~]# docker pull sonatype/nexus3 启动Nexus3前查看虚拟机端口是否被占用&#xff1a;[rootlocalhost ~]# netstat -nultp 通过Docker Hub查看安…...

linux下用docker安装mysql

1.mysql Docker镜像 docker pull mysql:[版本号 或 latest]例&#xff1a;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模板项目改造&#xff1a;动态获取菜单路由 这里是在此基础上添加了系统管理模块&#xff0c;包含用户管理&#xff0c;角色管理&#xff0c;菜单管理&#xff0c;字典管理&#xf…...

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)------保姆级教程

———————————————————————————————————— ⏩ 大家好哇&#xff01;我是小光&#xff0c;嵌入式爱好者&#xff0c;一个想要成为系统架构师的大三学生。 ⏩最近在开发一个STM32H723ZGT6的板子&#xff0c;使用STM32CUBEMX做了很多驱动&#x…...

微信小程序 样式和全局配置

WXSS wxss 把屏幕分为750个物理像素&#xff0c;大屏大&#xff0c;小屏小&#xff0c;随着设备不一致自动适配 推荐使用iPhone6作为标准&#xff0c;1个rpx 0.5个px&#xff0c;把px乘以2就是rpx的参数 import 导入外部样式表 import /common/common.wxss 样式 权重一…...

一.初识C语言

一.初识C语言 C语言标准规定&#xff1a; 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下的虚拟机&#xff0c;安装完成后&#xff0c;直接可以打开网站了&#xff0c;但是界面是英文&#xff0c;看了设置&#xff0c;没有中文选项&#xff0c;就需要在系统中安装中文字符集了。 # 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低代码快开平台是一种快速开发应用系统的工具&#xff0c;用户通过少量代码甚至不写代码就可以快速构建出各种应用系统。 随着信息化技术的发展&#xff0c;企业对信息化开发的需求正在逐渐改变&#xff0c;传统的定制开发已经无法满足企业需求。低代码开发平台&#xff0…...

【LeetCode】72.编辑距离

题目 给你两个单词 word1 和 word2&#xff0c; 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符删除一个字符替换一个字符 示例 1&#xff1a; 输入&#xff1a;word1 "horse", word2 "…...

大模型,开源干不掉闭源

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

Redis 九种数据类型的基本操作

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

爬取微博热搜榜并进行数据分析

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

基于深度神经网络的肺炎检测系统实现

一、说在前面 使用AI进行新冠肺炎图像诊断可以加快病例的诊断速度&#xff0c;提高诊断的准确性&#xff0c;并在大规模筛查中发挥重要作用&#xff0c;从而更好地控制和管理这一流行病。然而&#xff0c;需要强调的是&#xff0c;AI技术仅作为辅助手段&#xff0c;最终的诊断决…...

C# LINQ和Lambda表达式对照

C# LINQ和Lambda表达式对照 1. 基本查询语句 Linq语法&#xff1a; var datafrom a in db.Areas select a ; Lamda语法&#xff1a; var datadb.Areas; sql语法&#xff1a; SELECT * FROM Areas2. 简单的WHERE语句 Linq语法&#xff1a; var datafrom a in db.orderI…...

二、SQL-6.DCL-1).用户管理

一、DCL介绍 Data Control Language 数据控制语言 用来管理数据库 用户、控制数据库的 访问权限。 二、语法 1、管理用户 管理用户在系统数据库mysql中的user表中创建、删除一个用户&#xff0c;需要Host&#xff08;主机名&#xff09;和User&#xff08;用户名&#xff0…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候&#xff0c;显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...

Selenium 查找页面元素的方式

Selenium 查找页面元素的方式 Selenium 提供了多种方法来查找网页中的元素&#xff0c;以下是主要的定位方式&#xff1a; 基本定位方式 通过ID定位 driver.find_element(By.ID, "element_id")通过Name定位 driver.find_element(By.NAME, "element_name"…...

性能优化中,多面体模型基本原理

1&#xff09;多面体编译技术是一种基于多面体模型的程序分析和优化技术&#xff0c;它将程序 中的语句实例、访问关系、依赖关系和调度等信息映射到多维空间中的几何对 象&#xff0c;通过对这些几何对象进行几何操作和线性代数计算来进行程序的分析和优 化。 其中&#xff0…...

中国政务数据安全建设细化及市场需求分析

(基于新《政务数据共享条例》及相关法规) 一、引言 近年来,中国政府高度重视数字政府建设和数据要素市场化配置改革。《政务数据共享条例》(以下简称“《共享条例》”)的发布,与《中华人民共和国数据安全法》(以下简称“《数据安全法》”)、《中华人民共和国个人信息…...