Maven私服部署与JAR文件本地安装

news2024/9/22 18:18:30

Nexus3 是一个仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。
平常我们在获取 maven 仓库资源的时候,都是从 maven 的官方(或者国内的镜像)获取。团队的多人员同样的依赖都要从远程获取一遍,从网络方面来说,这是非常耗时的。这时候就需要在局域网内部署一个 Nexus3 用来管理 Maven(apt、yum、gradle、pypi、docker 等等)仓库。
有些公司都不提供外网给项目组人员,因此就不能使用 maven 访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建 Nexus3 私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了 Nexus3 私服的电脑访问 maven 的远程仓库。

一、私服NEXUS安装部署

1.1 官网下载

下载地址: https://www.sonatype.com/products/repository-oss-download
随便填一下进行下载
选择自己的版本,这里我选UNIX

1.2 安装部署

scp Downloads/nexus-3.65.0-02-unix.tar.gz root@10.211.55.38:~
scp Downloads/jdk-8u391-linux-aarch64.tar.gz root@10.211.55.38:~
tar -zxvf nexus-3.65.0-02-unix.tar.gz -C /opt/
tar -zxvf jdk-8u391-linux-aarch64.tar.gz -C /opt/

vim ~/.bash_profile
# 内容BEGIN
export PATH=$PATH:'/opt/nexus-3.65.0-02/bin'
export JAVA_HOME='/opt/jdk1.8.0_391'
PATH=$PATH:$JAVA_HOME/bin
# 内容END

source ~/.bash_profile
[root@nexus ~]# nexus 
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************
Usage: /opt/nexus-3.65.0-02/bin/nexus {start|stop|run|run-redirect|status|restart|force-reload}

提示

Detected execution as "root" user.  This is NOT recommended!

nexus
解决

# https://www.cnblogs.com/fzhu/articles/15248776.html
vim /opt/nexus-3.65.0-02/bin/nexus.rc
# 1.加入run_as_user=root
# 2.或者加入系统变量export RUN_AS_USER=root
# 3.vim nexus; 成run_as_root=false 
vim /opt/nexus-3.65.0-02/bin/nexus
# 4.或者添加nexus用户(非必要),即:
useradd nexus
chown -R nexus:nexus /opt/nexus
然后 su nexus 执行:./nexus start 就成功了。

在这里插入图片描述
关闭防火墙

# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld

访问: http:10.211.55.38:8001
在这里插入图片描述
在这里插入图片描述

cat /opt/sonatype-work/nexus3/admin.password
9ed814d8-f1ad-4a07-b57f-85fe79eb9918

mima
在这里插入图片描述

在这里插入图片描述
点击Next进行修改密码,输入新密码进行修改,这里我改成admin123
关闭匿名登录,启用匿名访问意味着默认情况下,用户骨以翟没省覺提的懵現早伙等储库中搜索、浏览和下载组件。
请考虑对组织的安全影响。应小心选择禁用匿名访问,因为它将需要所有用户和/或生成工具的凭据。
这个看个人要求了,我这里就禁用了。

Nexus 有 3 个类型的数据仓库,分别是 hosted,proxy,group

hosted 宿主仓库:主要用于部署无法从公共仓库获取的构件以及自己或第三方的项目构件;
proxy 代理仓库:代理公共的远程仓库;

group 仓库组:Nexus 通过仓库组统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。

Nexus 预定义了 2 个本地仓库,分别是 maven-releases, maven-snapshots

  • maven-releases: 这里存放我们自己项目中发布的构建,通常是 Release 版本的也就是正式版。
  • maven-snapshots: 这个仓库非常的有用,它的目的是让我们可以发布那些非 release 版本,非稳定版本,也就是快照版。

在这里插入图片描述
手动上传本地 jar 包,例 ojdbc6-11.2.0.4.jar(当然你可以任选 jar 包上传)
在这里插入图片描述
在这里插入图片描述
这样一个jar包就上传成功了。

如果你的工程中,使用的 jar 包,在私服中没有,他就会自动连接远程仓库进行下载,这不是我们希望的结果,我们希望它去阿里 maven 库去下载,这样下载速度会更快。
在这里插入图片描述
在这里插入图片描述
我们需要创建一个代理仓库,代理阿里Maven仓库
阿里仓库地址: https://developer.aliyun.com/mvn/guide
在这里插入图片描述
点击保存,然后选择maven-public
在这里插入图片描述
完成!

maven配置 conf/settings.xml

上传

<servers>
  <!-- 发布版 -->
  <server>
    <id>releases</id>
    <username>admin</username>
    <password>admin123</password>
  </server>
  <!-- 快照版 -->
  <server>
    <id>snapshots</id>
    <username>admin</username>
    <password>admin123</password>
  </server>
</servers>

下载

<mirrors>
  <mirror>
    <id>nexus</id>
    <mirrorOf>*</mirrorOf>
    <name>nexus maven</name>
    <url>http://10.211.55.38:8081/repository/maven-public/</url>
  </mirror>
</mirrors>

项目配置

<distributionManagement>
	<repository>
		<id>releases</id>
		<name>maven-releases</name>
		<url>http://10.211.55.38:8081/repository/maven-releases/</url>
		<uniqueVersion>true</uniqueVersion>
	</repository>
	<snapshotRepository>
		<id>snapshots</id>
		<name>maven-snapshots</name>
		<url>http://10.211.55.38:8081/repository/maven-snapshots/</url>
		<uniqueVersion>true</uniqueVersion>
	</snapshotRepository>
</distributionManagement>

只要执行命令 mvn deploy即可。

这里配置了两个仓库,一个正式版、一个快照版,maven 是如何区分你要发布到哪一个仓库呢?

如果你的版本带着 releases,也就是 0.0.1-releases,就会发布到 maven-releases。

如果你的版本带着 snapshots,也就是 0.0.1-snapshots,就会发布到 maven-snapshots。

装依赖到私服快照仓

mvn deploy:deploy-file
-DgroupId=com.oracle.database.jdbc
-DartifactId=ojdbc6
-Dversion=11.2.0.4
-Dpackaging=jar
-Dfile=~/Downloads/ojdbc6-11.2.0.4.jar
-Durl=http://10.211.55.38:8081/repository/maven-snapshots/
-DrepositoryId=snapshots

二、安装依赖到本地

mvn install:install-file
-DgroupId=com.oracle.database.jdbc
-DartifactId=ojdbc6
-Dversion=11.2.0.4
-Dpackaging=jar
-Dfile=~/Downloads/ojdbc6-11.2.0.4.jar

详细笔记后续更新…

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8S之运用亲和性设置Pod的调度约束

亲和性 Node节点亲和性硬亲和实践软亲和性实践 Pod节点亲和性和反亲和性pod亲和性硬亲和实践 pod反亲和性 Pod 的yaml文件里 spec 字段中包含一个 affinity 字段&#xff0c;使用一组亲和性调度规则&#xff0c;指定pod的调度约束。 kubectl explain pods.spec.affinity 配置…

对称二叉树

给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false思路&#xff1a;1.确定递归函数的参数…

Token、Tokenization 和张量之间的关系

输入经过Tokenization、Embedding和Positional Encoding后&#xff0c;最终构建为张量&#xff0c;给后续的计算和处理带来很多优势。 1. tokenization和张量 在自然语言处理&#xff08;NLP&#xff09;领域中&#xff0c;tokenization 是文本预处理的重要步骤之一&#xff0…

91.网游逆向分析与插件开发-游戏窗口化助手-游戏窗口化助手的UI设计

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;项目需求与需求拆解-CSDN博客 码云地址&#xff08;游戏窗口化助手 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;e512d44da1b7e6a8726b1be0…

Rust 格式化输出

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、format! 宏二、fmt::Debug三、fmt::Display四、? 操作符 循环打印 前言 Rust学习系列-本文根据教程学习Rust的格式化输出&#xff0c;包括fmt::Debug&…

【C++】结构体变量的赋值细节

C中 结构体变量的赋值与数组在定义时的初始化(赋值)十分相似&#xff1a; ①它们定义在全局区时都会自动初始化为0 ②都是使用大括号的方式赋值 ③大括号中的值都是从前往后一一对应的进行赋值&#xff0c;如果大括号中的值的数量不够的话&#xff0c;后面那些没有被手动赋值的…

ubuntu20.04安装最新版nginx

前言 记录下ubuntu服务器安装nginx 步骤 安装最新版本的 Nginx 可以通过添加 Nginx 官方的软件仓库并更新软件包信息。以下是在 Ubuntu 20.04 上安装最新版本 Nginx 的步骤&#xff1a; 添加 Nginx 软件仓库&#xff1a; 打开终端并执行以下命令&#xff1a; sudo sh -c echo…

无人机动力系统高倍率锂聚合物电池介绍,无人机锂电池使用与保养,无人机飞行控制动力源详解

无人机电池使用及保养 电池是无人机飞行的动力来源,也是一个消耗品&#xff0c;对电池充分了解&#xff0c;采取正确的使用方法&#xff0c;妥善进行维护保养将有助于提高飞行的安全性、延长电池的使用寿命。以下将详细对电池的使用和管理进行讲解。 高倍率锂聚合物电池的含义…

HiveSQL——条件判断语句嵌套windows子句的应用

注&#xff1a;参考文章&#xff1a; SQL条件判断语句嵌套window子句的应用【易错点】--HiveSql面试题25_sql剁成嵌套判断-CSDN博客文章浏览阅读920次&#xff0c;点赞4次&#xff0c;收藏4次。0 需求分析需求&#xff1a;表如下user_idgood_namegoods_typerk1hadoop1011hive1…

Rebuild企业管理系统 SSRF漏洞复现(CVE-2024-1021)

0x01 产品简介 Rebuild是高度可配置化的企业管理系统!企业内部可免费使用!低代码/零代码快速搭建企业中台、CRM客户关系管理、WMS库存管理、TMS运输管理、SCM供应链管理,外贸管理,甚至是 ERP 企业资源计划! 0x02 漏洞概述 Rebuild 3.5.5 版本存在安全漏洞,该漏洞源于组…

【Linux】进程学习(一):基本认识

目录 1.基本概念2.初步理解3.描述进程-PCB3.1task_struct-PCB的一种3.2task_ struct内容分类 4.组织进程5.查看进程5.1通过ps指令查看5.2通过系统目录查看 6.通过系统调用获取进程的PID和PPID7.通过系统调用创建进程-fork初识 1.基本概念 课本概念&#xff1a;程序的一个执行实…

ONLYOFFICE文档8.0新功能浅探

ONLYOFFICE文档8.0新功能浅探 上个月末这个月初的几天&#xff0c;ONLYOFFICE版本更新了&#xff01;更新到了一个比较整的大的版本号&#xff0c;8.0版本&#xff0c;看来这个生产力工具的升级速度基本上能保持每年两个版本号的速度&#xff0c;还是很快的&#xff0c;一般来…

微软.NET6开发的C#特性——委托和事件

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;看到不少初学者在学习编程语言的过程中如此的痛苦&#xff0c;我决定做点什么&#xff0c;下面我就重点讲讲微软.NET6开发人员需要知道的C#特性&#xff0c;然后比较其他各种语言进行认识。 C#经历了多年发展…

Ajax+JSON学习一

AjaxJSON学习一 文章目录 前言一、Ajax简介1.1. Ajax基础1.2. 同源策略 二、Ajax的核心技术2.1. XMLHttpRequest 类2.2. open指定请求2.3. setRequestHeader 设置请求头2.4. send发送请求主体2.5. Ajax取得响应 总结 前言 一、Ajax简介 1.1. Ajax基础 Ajax 的全称是 Asynchron…

网络连接受限或无连接怎么办?这里提供几个修复办法

本文介绍了如何完成疑难解答步骤,以解决在Windows 10、Windows 8和Windows 7中尝试在Windows计算机上设置或建立网络连接时可能遇到的连接问题错误。 可能错误提示 连接受限或无连接:连接具有有限的连接或无连接。你可能无法访问Internet或某些网络资源。 连接受限。 排除和解…

神经网络基本原理

神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向–深度学习的基础。 神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。人脑中的神经网络是一个非常复杂的组织。成人的大脑中估计有1000亿个神经元之多。 1 介绍 下面是一个包含三个层…

百度Apollo荣获量子位-智能车参考“2023智能车年度评选”两大奖项

2023&#xff0c;是谁在引领智能车浪潮&#xff1f; 量子位-智能车参考发布“2023智能车年度评选”结果。经过业内专业评审和垂直社群万人票选后&#xff0c;百度Apollo荣获「年度十大智能车技术产品/方案」「年度十大智能车领军人物」两项大奖。 年度十大智能车技术产品\方…

二叉树中的最大路径和

124. 二叉树中的最大路径和 - 力扣&#xff08;LeetCode&#xff09; 思路 路径每到一个节点&#xff0c;有 3 种选择&#xff1a;1. 停在当前节点。2. 走到左子节点。3. 走到右子节点。走到子节点&#xff0c;又面临这 3 种选择&#xff0c;递归适合处理这种规模不同的同一问…

Redis 单线程

文章目录 Redis单线程架构Redis 单线程访问速度IO多路复用原理 Redis单线程架构 Redis的单线程架构的效果为&#xff1a;Redis的单线程是对于服务端而言的&#xff0c;Redis允许多个Redis用户端同时在线操作&#xff0c;但同时只有一个用户端在和服务端交互。多个用户同时发送…

生成验证码-超简单

引言 在Web开发中&#xff0c;验证码是一种常见的防止恶意破解、自动化提交的有效手段。在Java项目中&#xff0c;我们可以使用Hutool工具库快速实现验证码功能。Hutool是一个Java工具包&#xff0c;它以简洁易用著称&#xff0c;其中包含了验证码模块&#xff0c;可以让我们轻…