我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Nexus存储库管理器搭建-Maven私服

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Nexus存储库管理器搭建-Maven私服

写在前面

🍁个人主页:微枫Micromaple

✨本期专栏:《0到1项目搭建》欢迎订阅学习~

📌源码获取:GitCodeGitHub码云Gitee 持续更新中,别忘了 star 喔~

在企业开发过程中,就比如说我们Java程序员,一般都是使用Spring或者是SpringBoot项目进行开发的,基本上都是基于Maven或者是Gradle构建的项目,如果说我们使用的Maven仓库是中央仓库的话,在企业内部协同开发的时候,会带来诸多不便。例如,当我们需要协同开发时,难免会对Jar包进行管理,不可能将我们的Jar包上传至中央仓库去,所以我们需要搭建属于内部的Maven仓库。Maven私服仓库也有者诸多好处。本文详细讲述了 Maven私服的搭建、Jar包部署以及SpringBoot配置。

目录

一、概述

在这里插入图片描述

Nexus 是一个存储库管理器,极大地简化了内部仓库的维护和外部仓库的访问。

有非常简单便捷的用户操作界面,方便对Nexus操作及管理。

在 Nexus 3.0 版本后,增加了对 Docker、NetGet、npm、Bower的支持。

二、为什么要使用Maven私服仓库

大家可能会有一个疑问,为啥要搭建Maven私服呢?使用官方的Maven仓库不就可以吗?而且国内也有镜像加速地址,比如阿里等。而我们去搭建一个Maven私服,需要在服务器单独进行搭建,还要进行维护。

针对这些问题,下面是使用Maven私服的好处:

  • 托管内部存储库: 可以共享内部依赖项,以方便将依赖项安装在每个开发人员的本地存储库中。

  • 加速Maven构建: 当在 Maven 中运行多模块项目时,如果项目依赖于几个 SNAPSHOT,或者没有指定插件版本,Maven 可能必须向远程存储库发出数十到数百个请求。安装 Nexus 的本地实例后将构建时间大大的缩减了。

  • 节省带宽: 如果没有 Maven 私服,开发人员会浪费带宽一遍又一遍的从中央仓库下载相同的文件。使用 Nexus 来保留本地缓存将节省大量带宽。

  • 控制和审计: 可以有效的控制开发团队将使用哪些依赖项。

  • 可上传部署第三方Jar: 可以方便的上传第三方Jar包,并对其进行管理。

  • 可预测性和稳定性: 依靠中央仓库进行日常运营也意味着依赖于互联网连接,如果有 Nexus ,则可以确保即使失去互联网连接,构建工作也可以继续进行。

三、搭建Nexus

这里使用docker来搭建Nexus。

1)、创建文件夹

mkdir -p /usr/local/docker/nexus

2)、创建docker-compose文件

vi /usr/local/docker/nexus/docker-compose.yml

docker-compose.yml内容如下:

version: '3.1'services:  nexus:    restart: always    image: sonatype/nexus3    container_name: nexus    privileged: true    ports:      - 8081:8081    volumes:      - ./data:/nexus-data

3)、启动

启动命令

docker-compose up -d

如果遇到文件夹权限问题,使用命令更改文件夹权限chmod -R 777 data,然后在重新启动

4)、访问

启动完成后,浏览器访问http://IP:8081/,效果如下:

在这里插入图片描述

5)、登录

登录Nexus,点击右上角 Sign in,第一次登录会提示admin的密码在哪,根据提示去相关目录查看。docker-compose中映射nexus-data目录为/usr/local/docker/nexus/data目录,所以我们在data目录去找admin.password文件即可看到密码了。
在这里插入图片描述
在这里插入图片描述

查看密码

$ cat admin.password 1cf97ae1-270f-47e5-8c83-f5af04af34af

登录后会提示设置新的密码,设置一个记得住的密码即可。

四、SpringBoot整合

my-project项目为例。

4.1、pom.xml配置

有一个统一的依赖管理模块my-project-dependencies,在pom.xml中增加部署服务器的 Maven 节点内容以及仓库地址,内容如下:

<distributionManagement><repository><id>nexus-releasesid><name>Nexus Release Repositoryname><url>http://192.168.110.158:8081/repository/maven-releases/url>repository><snapshotRepository><id>nexus-snapshotsid><name>Nexus Snapshot Repositoryname><url>http://192.168.110.158:8081/repository/maven-snapshots/url>snapshotRepository>distributionManagement><repositories><repository><id>nexusid><name>Nexus Repositoryname><url>http://192.168.110.158:8081/repository/maven-public/url><snapshots><enabled>trueenabled>snapshots><releases><enabled>trueenabled>releases>repository><repository><id>aliyun-reposid><name>Aliyun Repositoryname><url>http://maven.aliyun.com/nexus/content/groups/publicurl><releases><enabled>trueenabled>releases><snapshots><enabled>falseenabled>snapshots>repository><repository><id>sonatype-reposid><name>Sonatype Repositoryname><url>https://oss.sonatype.org/content/groups/publicurl><releases><enabled>trueenabled>releases><snapshots><enabled>falseenabled>snapshots>repository><repository><id>sonatype-repos-sid><name>Sonatype Repositoryname><url>https://oss.sonatype.org/content/repositories/snapshotsurl><releases><enabled>falseenabled>releases><snapshots><enabled>trueenabled>snapshots>repository><repository><id>spring-snapshotsid><name>Spring Snapshotsname><url>https://repo.spring.io/snapshoturl><snapshots><enabled>trueenabled>snapshots>repository><repository><id>spring-milestonesid><name>Spring Milestonesname><url>https://repo.spring.io/milestoneurl><snapshots><enabled>falseenabled>snapshots>repository>repositories><pluginRepositories><pluginRepository><id>nexusid><name>Nexus Plugin Repositoryname><url>http://192.168.110.158:8081/repository/maven-public/url><snapshots><enabled>trueenabled>snapshots><releases><enabled>trueenabled>releases>pluginRepository><pluginRepository><id>aliyun-reposid><name>Aliyun Repositoryname><url>http://maven.aliyun.com/nexus/content/groups/publicurl><releases><enabled>trueenabled>releases><snapshots><enabled>falseenabled>snapshots>pluginRepository>pluginRepositories>

将IP地址更改为自己的就可以了

4.2、测试部署

使用dos窗口进入my-project-dependencies目录下,执行部署命令

mvn deploy

在这里插入图片描述

此时出现失败,关键信息Return code is: 401, ReasonPhrase: Unauthorized. ,错误问题是未授权

我们打开我们配置的Maven的settings.xml,在servers节点增加如下配置

<server>  <id>nexus-releasesid>  <username>adminusername>  <password>123456password>server><server>  <id>nexus-snapshotsid>  <username>adminusername>  <password>123456password>server>
  • id: 与构建项目的pom.xml中的repository的id一致。
  • username: 部署用户(可在Nexus中单独创建一个用户专门拿来部署,这里直接使用admin)
  • password: 登录密码

配置好这些后,先将原先的命令窗口关闭,打开一个新的,在执行一次部署命令

mvn deploy

在这里插入图片描述

部署成功,接着我们打开Nexus端查看部署上来的项目

在这里插入图片描述

在 Maven 私服中也可以看到,大功告成~

五、上传部署Jar包

在开发过程中,我们可能会单独的对Jar进行管理,而我们手中又只有一个Jar文件。这时,我们需要使用到Nexus的上传功能

1)、点击Upload->选择需要上传的仓库

在这里插入图片描述

2)、上传Jar包,填写表单信息

在这里插入图片描述

3)、上传成功
在这里插入图片描述

来源地址:https://blog.csdn.net/qq_41779565/article/details/128182670

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Nexus存储库管理器搭建-Maven私服

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么通过服务器搭建私有云存储

要通过服务器搭建私有云存储,您可以按照以下步骤进行操作:1. 选择合适的硬件:选择一台高性能的服务器,确保它具备足够的存储容量和处理能力。2. 安装操作系统:安装一种适合您需求的操作系统,例如Linux发行版(如Ubuntu、CentOS等
2023-08-09

Nexus构建Maven代理服务器让Android依赖库下载飞起

本文篇幅较长,仅想看教程的朋友请点击电梯直达 在讲述本文之前,先抛出个问题:为什么做Maven代理服务器? 我认为有如下几个原因 ~~~ why 1. jcenter和google等国外maven库下载慢 我们在使用Android Stu
2022-06-06

私有云服务器搭建与管理大作业

私有云服务器搭建与管理是一项非常重要的任务,它涉及到服务器的搭建、管理和备份等方面的知识。以下是一些建议,可供您参考:搭建虚拟机:在搭建私有云时,通常需要搭建多个虚拟机来运行各种应用程序。您需要确定每个虚拟机的CPU、内存和磁盘使用情况等,以便根据需要进行调优和管理。配置管理:在搭建私有云时,需要为每个虚拟机分配管理员账户,并提供必要的配置工具(如VMware)和管理选项。此外,需要考虑虚
2023-10-26

CentOS搭建web服务器时需注意的内存管理与优化

在搭建 CentOS 上的 web 服务器时,内存管理与优化是非常重要的。以下是一些需要注意的方面:1. 内存大小:确保服务器有足够的内存来处理网站的流量和请求。根据网站的规模和预期的访问量,确定合适的内存大小。2. 内存分配:合理分配内存
2023-10-09

连接阿里云数据库服务器实现高效的数据存储与管理

随着互联网的发展,数据已经成为企业的重要资产。如何有效地存储和管理这些数据,是许多企业需要面对的问题。而云数据库的出现,为这些问题提供了有效的解决方案。本文将介绍如何连接阿里云数据库服务器,以实现高效的数据存储与管理。一、什么是阿里云数据库服务器?阿里云数据库服务器是阿里云提供的一种云数据库服务,它可以让用户在云
连接阿里云数据库服务器实现高效的数据存储与管理
2023-11-12

深入解析阿里云服务器数据库信息实现高效、稳定的数据存储与管理

随着大数据时代的到来,数据已经成为企业发展的重要驱动力。如何有效管理和存储这些数据,成为了企业面临的挑战。阿里云服务器提供了一系列数据库服务,为用户提供了一种高效的解决方案。本篇文章将深入解析阿里云服务器数据库信息,帮助读者更好地了解和利用这些服务。正文:一、阿里云服务器数据库服务概述阿里云服务器数据库服务是基于
深入解析阿里云服务器数据库信息实现高效、稳定的数据存储与管理
2023-11-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录