Maven私服搭建Nexus3

2024-02-22 16:12
文章标签 maven 搭建 私服 nexus3

本文主要是介绍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>

这篇关于Maven私服搭建Nexus3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/735790

相关文章

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作