Maven私服搭建Nexus3

第一部分:仓库部署

下载地址:https://help.sonatype.com/en/download.html
备用下载链接,部分已经失效了
解压后会有两个文件夹:
nexus-3.20.1-01
sonatype-work

访问地址配置路径
\nexus-3.20.1-01\bin\nexus.vmoptions

-Xms128m
-Xmx512m
-XX:MaxDirectMemorySize=512m

默认配置大小为2703m,两个多G,内存不够的可以修改一下。
如果是docker部署修改配置没用,要加上-e参数进行配置亲测有效

# 核心配置
# -e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
docker run -d --name nexus3 -e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs" --hostname nexus -p 8081:8081 -v /www/dk_project/projects/nexus3/:/nexus-data sonatype/nexus3

访问地址配置路径
\nexus-3.20.1-01\etc\nexus-default.properties

application-port=8081
application-host=127.0.0.1

默认配置端口为8081,可以不做修改直接到 /nexus-3.20.1-01/bin目录下找到nexus直接启动(我用mac实验的,使用命令./nexus启动,哪怕点了允许也一直报安全性问题,后来使用 ./nexus start 点了允许后提示安全问题,但是服务启动成功了),大约等待20秒就可以在浏览器上输入http://localhost:8081进入管理页面。

初始化账号是admin
初始化密码所在目录:\nexus-3.20.1-01\etc\sonatype-work\nexus3\admin.password
登录成功后会提示修改密码,然后询问是否允许匿名用户进行pubulic仓库访问,自行根据翻译和需求设定即可。

第二部分:仓库类型讲解

我们创建的是maven私服,所以这里只按照format为maven来举例。
根据format=maven2的一共有3中type类型。
如图:仓库类型和仓库格式是有不同分类的。
在这里插入图片描述

类型作用
porxy远程仓库代理,可以下载到所代理的仓库的依赖,比如配置阿里中央仓库或者华为中央仓库等等
group仓库分组,类似一个文件夹,可以将hosted类型或者porxy类型的仓库进行合并显示,可以通过group一个仓库地址访问到多个仓库的依赖
hosted本地仓库,可以上传jar或者下载依赖

proxy作用:

相当于把远程仓库搬到了本地,通过访问本地私库的地址,代理到指定的仓库地址。

group作用:

如果你需要两个依赖A和B,A在阿里仓库有,B在华为仓库,那么你可以配置两个代理仓库,分别代理阿里和华为仓库,然后再创建一个group,将两个代理仓库放入这个group仓库,那么在配置maven仓库的URL时只需要配置group这个仓库的地址就可以获取到A和B依赖。
在这里插入图片描述

hosted作用:

本地仓库,可以上传自己的jar包。
创建时需要设置部署策略(Deployment policy):

策略作用
Allow redeploy允许更新部署
Disable redeploy禁用更新部署
Read-only只读

如果设置禁用更新部署,那么在上传jar时不允许上传版本相同的jar,一般这么设置是为了防止正式版本被替换,所以正式版本仓库是不允许更新部署的,只能新增版本。则快照库允许更新部署,可以不断更新迭代。

第三部分:仓库使用

仓库部署好后,可以根据需求做不同配置,如果是pom文件依赖跟着项目走,则可以在pom文件中进行配置,如果是很多项目共用私库,又没有在pom文件中配置私库地址,则可以在本地maven配置文件中进行mirror替换(这种会用maven都会,不说了)
项目中配置:

	<!--使用maven deploy进行上传时,根据-后面的不同进行私库地址选择-->
	<groupId>org.example</groupId>
    <artifactId>SpringBootTemplate</artifactId>
    <version>1.2-SNAPSHOT</version>
    <!--<version>1.2-RELEASE</version>-->
   
	<!--<project>标签下配置本地仓库地址-->
	<!--配置多个地址时如果没找到会自动换下一个仓库地址寻找依赖-->
	<!--推荐通过私库配置group来进行本地仓库和远程仓库依赖的合并,避免过多配置-->
	<repositories>
        <repository>
            <id>release</id>
            <name>release</name>
            <url>http://xxx.xx.xx.xx:8081/repository/maven-release</url>
        </repository>
        <repository>
            <id>snapshots</id>
            <name>snapshots</name>
            <url>http://xxx.xx.xx.xx:8081/repository/maven-snapshots</url>
        </repository>
    </repositories>

    <!--配置上传私库地址 账号密码配置在settings.xml中server-->
    <distributionManagement>
    	<!--配置上传快照私库地址,版本后缀-SNAPSHOT-->
        <snapshotRepository>
            <id>snapshots</id>
            <name>snapshots</name>
            <url>http://xxx.xx.xx.xx:8081/repository/maven-snapshots</url>
        </snapshotRepository>
        <!--配置上传正式私库地址,版本后缀-RELEASE-->
        <repository>
            <id>releases</id>
            <name>releases</name>
            <url>http://xxx.xx.xx.xx:8081/repository/maven-releases/</url>
        </repository>
    </distributionManagement>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue思维导图,复习+预习,其中有些已经弃用了,下期总结下

1、学前了解 2、基础知识 3、组件相关语法 4、高级语法 5、compositionAPI 6、配套工具

每日OJ题_二叉树dfs④_力扣98. 验证二叉搜索树

目录 力扣98. 验证二叉搜索树 解析代码 力扣98. 验证二叉搜索树 98. 验证二叉搜索树 难度 中等 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树…

C++动态分配内存知识点!

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 大家好呀&#xff0c;又是分享干货的时间&#xff0c;今天我们来学习一下动态分配内存。 文章目录 1.动态分配内存的思想 2.动态分配内存的概念 2.1内存分配函数 2.2动态内存的申请和释放 2.3内存碎片问…

Android 面试问题 2024 版(其二)

Android 面试问题 2024 版&#xff08;其二&#xff09; 六、多线程和并发七、性能优化八、测试九、安全十、Material设计和 **UX/UI** 六、多线程和并发 Android 中的进程和线程有什么区别&#xff1f; 答&#xff1a;进程是在自己的内存空间中运行的应用程序的单独实例&…

使用JavaVisualVM排查FullGC问题

1.工具准备 在这里使用 jdk/bin 目录下的 jvisualvm.exe&#xff0c;是自带工具。 2.工具使用 将下载到本地的dump 文件导入工具中&#xff0c;会展示各个类的实例数占比&#xff0c;大小占比。 3.问题排查 前期准备 在分析dump文件之前&#xff0c;我们可以先观察应用中接…

06 flink 的各个角色的交互

前言 这里主要是 涉及到 flink 中各个角色的交互 TaskManager 和 ResourceManager 的交互 JobMaster 和 ResourceManager 的交互 等等流程 TaskManager 和 ResourceManager 的交互 主要是 包含了几个部分, 如下, 几个菜单 TaskManager向 ResourceManager 注册 Resou…

【Maven】介绍、下载及安装、集成IDEA

目录 一、什么是Maven Maven的作用 Maven模型 Maven仓库 二、下载及安装 三、IDEA集成Maven 1、POM配置详解 2、配置Maven环境 局部配置 全局设置 四、创建Maven项目 五、Maven坐标详解 六、导入Maven项目 方式1&#xff1a;使用Maven面板&#xff0c;快速导入项目 …

安装 Debian

安装 Debian 制作一个 Debian 的可启动 USB先决条件如何在 Linux 操作系统上制作 Debian 11 的可启动 USB第一步&#xff1a;附加 ISO 镜像第二步&#xff1a;选择 USB第三步&#xff1a;开始制作 USB 可启动的过程 如何在 Windows 上制作一个 Debian 11 可启动的 USB 盘第一步…

一周学会Django5 Python Web开发-Django5设置视图响应状态

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计25条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

压缩感知(Compressed Sensing)的MATLAB仿真实现

在前一篇文章&#xff1a;正交匹配追踪&#xff08;Orthogonal Matching Pursuit, OMP&#xff09;的MATLAB实现中&#xff0c;我们介绍了针对稀疏信号进行压缩感知的MATLAB仿真。 本篇我们介绍一下针对的是原始的非稀疏信号&#xff0c;看看如何进行处理。 本文中&#xff0c;…

定制学习风格、满足多元需求:Mr. Ranedeer 帮你打造 AI 家教 | 开源日报 No.178

JushBJJ/Mr.-Ranedeer-AI-Tutor Stars: 20.4k License: NOASSERTION Mr. Ranedeer 是一个个性化的 AI 辅导项目&#xff0c;主要功能包括使用 GPT-4 生成定制化提示&#xff0c;为用户提供个性化学习体验。其核心优势和特点包括&#xff1a; 调整知识深度以满足学习需求定制学…

原生 复选框 input[type=“checkbox“] 样式修改

样式&#xff1a; input[type"checkbox"] {position: relative;width: 25px;height: 25px;/* 用于控制 UI 控件的基于操作系统主题的原生外观。none 隐藏部件的某些特性 */appearance: none; }input[type"checkbox"]::before {content: "";posi…

采用uniapp实现的银行卡卡片, 支持H5和微信小程序

采用uniapp-vue3实现的银行卡卡片 支持H5、微信小程序&#xff08;其他小程序未测试过&#xff0c;可自行尝试&#xff09; 可用于参考学习 可到插件市场下载尝试&#xff1a; https://ext.dcloud.net.cn/plugin?id16736 使用示例

ansible的剧本

1 playbook 剧本 1.1 playbooks的组成 Tasks 任务&#xff0c;即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 Variables 变量 Templates 模板 Handlers 处理器&#xff0c;当changed状态条件满足时&#xff0c;&#xff08;notify&#xff09…

“TypeError: utils request jS WEBPACK IMPORTED MODULE O .default is undefined‘报错

写项目时报下列错误&#xff0c;找了半天&#xff0c;结果才发现自己在request.js中少写了一行代码 一定不要少些代码 export default requestrequest.js完整代码 import axios from axios;//创建一个新的axios对象 const request axios.create({baseURL:http://localhost:…

AIDL的工作原理与使用示例 跨进程通信 远程方法调用RPC

AIDL的介绍与使用 AIDL&#xff08;Android Interface Definition Language&#xff09;是Android中用于定义客户端和服务端之间通信接口的一种接口定义语言。它允许你定义客户端和服务的通信协议&#xff0c;用于在不同的进程间或同一进程的不同组件间进行数据传递。AIDL通过…

SpringCloud Ribbon负载均衡的策略总结及其配置

1. 轮询策略 2. 权重轮询策略 3. 随机策略 4. 最少并发数策略 5. 在选定的负载均衡策略基础上重试机制 6. 可用性敏感策略。 7. 区域敏感策略 —————————————————————— Ribbon负载均衡策略的配置&#xff1a; 在application.yml中配置如下&am…

功能问题:如何开发一个自己的 VS Code 插件?

大家好&#xff0c;我是大澈&#xff01; 本文约1100字&#xff0c;整篇阅读大约需要3分钟。 感谢关注微信公众号&#xff1a;“程序员大澈”&#xff0c;免费领取"面试礼包"一份&#xff0c;然后免费加入问答群&#xff0c;从此让解决问题的你不再孤单&#xff01…

linuxshell日常脚本命令之sleep延时

shell之sleep指定延时单位(六) 用于延时打印或延时在超算投放任务 for i in $(seq 1 10);do echo $i;sleep 2m;done

机器学习面试:逻辑回归与朴素贝叶斯区别

逻辑回归与朴素贝叶斯区别有以下几个方面: (1)逻辑回归是判别模型&#xff0c;朴素贝叶斯是生成模型&#xff0c;所以生成和判别的所有区别它们都有。 (2)朴素贝叶斯属于贝叶斯&#xff0c;逻辑回归是最大似然&#xff0c;两种概率哲学间的区别。 (3)朴素贝叶斯需要条件独立假设…