您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

记一次内网maven私服初始化方法

时间:2023-02-27 12:08:09  来源:今日头条  作者:Hard Bird

背景

  1. 纯内网环境,无法连互联网
  2. 待初始化maven私服在内网,无法通过配置代理完成初始化
  3. 通过nexus部署私服,初始化maven依赖和npm依赖

初始化思路

  1. 通过nexus管理端上传组件功能上传组件,支持maven组件和npm组件
  2. 通过maven插件命令行指令上传组件,仅能上传maven组件
  3. 通过nexus的api接口上传组件,支持maven组件和npm组件

其中前两个思路适用于少量组件需要上传的情况,若需要上传的组件成百上千个,则建议要么想办法打通网络通过网络初始化,要么使用程序循通过api批量上传。

通过 nexus 管理端功能上传组件

使用有权限的账户登录 nexus 后在仓库页的左侧菜单里选择【Upload】功能上传组件,无论是maven组件还是npm组件只能上传到 hosted 类型的仓库中。

1、maven组件可上传的文件有jar、pom

2、npm组件可上传的文件是 tgz 文件

3、这个功能仅支持上传 Release 版本的依赖,nexus3 会根据上传文件的版本判断是否符合要求,比如版本号带有 SNAPSHOT 标识,则认为是快照版,不允许上传

 


上传maven依赖


 

1、同时上传 jar 和 pom 文件

分别浏览两个文件,点击 Browse 按钮,分别选择要上传的 jar 和 pom文件,当 pom 文件选择完之后,Component coordinates 区域会自动取消(即此时 nexus 自动从 pom 文件中提取相关内容)。

2、仅上传 pom 文件

当需要上传的是类似父模块的时候,这种情况不存在 jar,只有 pom 文件,选中 pom 后,Components coordinates 区域同样会自动取消。

3、仅上传 jar 文件

当仅上传 jar 文件时,需要填写 Components coordinates 对应的信息,即 Group ID、Artifact ID、Version,这种情况基本遇不到。

命令行通过 maven 命令上传

1、在 maven 配置文件中配置具有上传权限的用户信息,也可以给匿名用户临时赋管理员权限(这有风险,万一用完后忘了收回呢)

2、确保maven依赖的插件在本地仓库里是存在的,否则命令无法正常执行

在settings.xml中配置用户信息,用户名密码根据实际情况配置

<servers>
   	<server>
  		<id>local-nexus3</id>
			<username>admin</username>
			<password>admin123</password>
  	</server>
  </servers>

注意:若需要上传的 jar 、pom 文件在本地仓库里,先将文件从本地仓库复制到其他目录,否则会上传失败

1、同时上传 jar 和 pom

mvn -s /path/to/settings.xml deploy:deploy-file -Durl=http://localhost:8080/repository/maven-snapshots -DrepositoryId=local-nexus3 -Dfile=XXX.jar -DpomFile=XXX.pom

-s:指定maven使用的配置文件

-Durl:maven 仓库地址,注意仓库类型 Release、Snapshot、Mixed

-Dfile:要上传的jar文件

-DpomFile:与jar文件对应的pom文件

-DrepositoryId:仓库id,给maven工具使用的,主要是用来获取上边 server 里配置的用户信息,这个值要跟 server 里配置的 id 里的值一样

2、仅上传 pom

mvn -s /path/to/settings.xml deploy:deploy-file -Durl=http://localhost:8080/repository/maven-snapshots -DrepositoryId=local-nexus3 -Dfile=XXX.pom -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.0.0-SHAPSHOT -Dpackaging=pom

--Dfile为对应的pom文件

groupId、artifactId、packaging、version的值从pom文件中复制

3、仅上传 jar

mvn -s /path/to/settings.xml deploy:deploy-file -Durl=http://localhost:8080/repository/maven-snapshots -DrepositoryId=local-nexus3 -Dfile=XXX.jar -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.0.0 -Dpackaging=jar

若上传失败,可以增加 -e 和 -X 参数,查看输出的日志信息,一般是因为缺少 maven 依赖

通过rest api接口上传

api接口文档在:管理员账号登录--》设置--》System--》API,组件相关接口查看Components 里的内容

 


 

自己通过程序循环调用 api 接口将依赖上传至 nexus 私服。

注意上传权限问题,在http请求头里设置Authorization:Basic[空格][用户名:密码对应的base64编码字符串],比如admin:admin123对应为YWRtaW46YWRtaW4xMjM=

注意:调用api实际使用时不能用admin:admin123去做认证,因为nexus认为admin123是admin的默认密码,默认密码验证会不通过。

附:上传程序:
https://pan.bAIdu.com/s/1kJExCa974xk_wkqYXFgd9w?pwd=akc2

1、上传程序里的日志文件要先创建

2、权限认证字符串根据实际调整

参考:

  1. nexus3:https://help.sonatype.com/docs
  2. maven deploy插件:https://maven.Apache.org/plugins/maven-deploy-plugin/usage.html
  3. 前端依赖离线下载:https://Github.com/Meir017/node-tgz-downloader

 

欢迎交流、指正。



Tags:maven   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
使用Maven和Tomcat创建并部署Java应用
引言本文分享使用Maven和Tomcat创建、构建和部署简单的Java Web应用程序的过程。Maven是个强大的构建自动化工具,可以帮助管理项目依赖关系并自动化构建任务,而Tomcat是被广泛...【详细内容】
2023-12-11  Search: maven  点击:(171)  评论:(0)  加入收藏
教你如何选择Gradle和Maven
在软件开发领域,构建工具对于自动化编译、测试和打包代码过程至关重要。Gradle 和 Maven 是当今最流行的两种构建工具,每种工具都有自己的一套功能和优点。Gradle 是一种现代...【详细内容】
2023-10-08  Search: maven  点击:(295)  评论:(0)  加入收藏
聊聊 Maven 最佳实践
本文翻译自国外论坛 medium,原文地址:https://medium.com/@AlexanderObregon/maven-best-practices-tips-and-tricks-for-java-developers-438eca03f72bMaven 简介Maven 是一...【详细内容】
2023-09-09  Search: maven  点击:(325)  评论:(0)  加入收藏
10个Java项目中必备的Maven插件
介绍Maven是Java开发人员必备的构建工具和项目管理工具。它采用简单的项目对象模型(POM),实现Java应用程序的自动化构建、测试和部署。使用Maven插件,开发人员能够进一步扩展工...【详细内容】
2023-08-17  Search: maven  点击:(320)  评论:(0)  加入收藏
Maven进阶学习指南
前言当我们在开发项目时,有时需要用到外部依赖组件,例如当我们需要Json序列化的时候需要用到FastJson组件,我们可以通过下载对应jar包加载到项目中。但当一个大的项目同时需要...【详细内容】
2023-06-25  Search: maven  点击:(272)  评论:(0)  加入收藏
java开发人你用的maven构建还是gradle
Gradle和Maven都是Java项目构建工具,它们之间最主要的区别在于以下几点: 构建脚本语言:Maven使用XML作为构建脚本语言,而Gradle使用Groovy语言,Groovy是一种基于Java的动态语言。...【详细内容】
2023-05-16  Search: maven  点击:(450)  评论:(0)  加入收藏
记一次内网maven私服初始化方法
背景 纯内网环境,无法连互联网 待初始化maven私服在内网,无法通过配置代理完成初始化 通过nexus部署私服,初始化maven依赖和npm依赖初始化思路 通过nexus管理端上传组件功能上...【详细内容】
2023-02-27  Search: maven  点击:(270)  评论:(0)  加入收藏
Maven从入门到精通 pringBoot搭建SSM项目的完整过程 !
01、新建一个springboot项目 选择依赖和版本 SpringBoot整合lomboklombok是一个快速生成javabean的一个工具工程和生成日志的工具。未来给我们提供了很大的遍历。需要在ide...【详细内容】
2023-02-09  Search: maven  点击:(183)  评论:(0)  加入收藏
安全同学讲Maven间接依赖场景的仲裁机制
一 背景为什么想写此文去年的Log4j-core的安全问题,再次把供应链安全推向了高潮。在供应链安全的场景,蚂蚁集团在静态代码扫描平台-STC和资产威胁透视平台-哈勃这2款产品的联...【详细内容】
2022-09-22  Search: maven  点击:(339)  评论:(0)  加入收藏
Maven依赖的作用域你到底用对了没有
Maven是目前Java开发主要使用的依赖管理构建工具之一,但是很多人在引用依赖的时候直接引用坐标,而没有考虑依赖的作用范围,结果导致出现这样和那样的问题。今天胖哥就来说明一...【详细内容】
2022-07-26  Search: maven  点击:(406)  评论:(0)  加入收藏
▌简易百科推荐
学生偷看“不良网站”,手机上3个痕迹无法清除,网友:咋不早说
众所周知,中国的常规教育中,总是“谈性色变”,但在这个信息爆炸的互联网时代,即便是一些年纪很小的孩子,也能轻易接触到一些所谓的不良网站,因此这一方面的教育缺失,其实是很可怕的...【详细内容】
2024-03-28    叶姐生活指南  Tags:不良网站   点击:(11)  评论:(0)  加入收藏
什么是网络中的路由器?核心功能解释
路由器是互联网连接的核心元素,是一种允许多个设备连接到互联网,并促进将数据包转发到各自的目标地址的设备。使用动态路由技术,路由器检查数据并在各种可用路径中选择最有效的...【详细内容】
2024-03-07    千家网  Tags:路由器   点击:(31)  评论:(0)  加入收藏
过年该不该升级Wi-Fi 7路由?看完就知道
打开电商网站不难发现,从2023年第三季度到现在,Wi-Fi 7路由器新品越来越多。而且价格不再是高高在上,已经基本和Wi-Fi 6路由价格差不多了。看到这些Wi-Fi 7新品路由,不少朋友就...【详细内容】
2024-02-27    中关村在线  Tags:Wi-Fi   点击:(36)  评论:(0)  加入收藏
聊聊 Kubernetes 网络模型综合指南
这篇详细的博文探讨了 Kubernetes 网络的复杂性,提供了关于如何在容器化环境中确保高效和安全通信的见解。译自Navigating the Network: A Comprehensive Guide to Kubernete...【详细内容】
2024-02-19  云云众生s  微信公众号  Tags:Kubernetes   点击:(38)  评论:(0)  加入收藏
SSL协议是什么?关于SSL和TLS的常见问题解答
SSL(安全套接字层)及其后继者TLS(传输层安全)是用于在联网计算机之间建立经过身份验证和加密的链接的协议。尽管SSL协议在 1999年已经随着TLS 1.0的发布而被弃用,但我们仍将这些...【详细内容】
2024-02-06  IDC点评网    Tags:SSL协议   点击:(69)  评论:(0)  加入收藏
从零开始了解网络协议:TCP/IP详解
从零开始了解网络协议:TCP/IP详解 在当今数字化的时代,网络协议已经成为我们生活中不可或缺的一部分。作为互联网的基础,网络协议规定了数据如何在不同的网络设备之间传输。TC...【详细内容】
2024-02-01    简易百科  Tags:TCP/IP   点击:(59)  评论:(0)  加入收藏
BGP路由属性:互联网路由的灵活控制器
在互联网的庞大网络中,边界网关协议(BGP)是确保不同自治系统(AS)间路由信息有效交换的关键协议。然而,BGP的功能远不止于此。其核心组成部分,即BGP路由属性,赋予了BGP强大的灵活性,使...【详细内容】
2024-01-26  诺诺爱生活    Tags:互联网路由   点击:(40)  评论:(0)  加入收藏
简易百科之什么是网络延迟?
简易百科之什么是网络延迟?随着互联网的普及和发展,网络已经成为我们生活中不可或缺的一部分。然而,我们在使用网络时可能会遇到一种情况,那就是网络延迟。那么,什么是网络延迟呢...【详细内容】
2024-01-24    简易百科  Tags:网络延迟   点击:(147)  评论:(0)  加入收藏
网络延迟与网络速度有什么区别?分享具体的答案
通常,许多人抱怨网速测试。速度还是不错的,但是他们玩游戏的时候怎么会卡住,还是断开连接等等问题,这一系列问题始终困扰着大家。那么,网络延迟与网络速度有什么区别呢?请不要担心...【详细内容】
2024-01-24  萌新小郭    Tags:网络延迟   点击:(50)  评论:(0)  加入收藏
揭秘IP地址的网络威胁与攻击类型
在当今数字化时代,网络攻击已经成为网络安全的一大挑战。IP地址,作为互联网通信的基础,也成为网络威胁和攻击的焦点之一。本文将深入探讨不同类型的网络威胁和攻击,以及如何防范...【详细内容】
2024-01-22  IP数据云    Tags:IP地址   点击:(77)  评论:(0)  加入收藏
站内最新
站内热门
站内头条