百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

【技术】Maven 上传第三方jar包到私服

lipiwang 2025-03-19 14:05 4 浏览 0 评论


通过nexus后台上传私服

Nexus Repository Manager OSS 2.14.5-02 为例。

  1. 登录nexus后台。
  2. 定义Maven坐标

Maven 坐标有两种方式:1.自定义参数;2.通过POM文件自动读取。

此处选择 通过 POM 文件读取。


  1. 选择上传jar包

移动要执行 上图 第6步

  1. 上传制品。

点击上图 第7步,上传制品。

  1. 确认制品是否上传成功

刷新产看



  1. xxxx

通过脚本批量上传本地jar包到私服

  1. 脚本内容
#!/bin/bash
# copy and run this script to the root of the repository directory containing files
# this script attempts to exclude uploading itself explicitly so the script name is important
# Get command line params
while getopts ":r:u:p:" opt; do
	case $opt in
		r) REPO_URL="$OPTARG"
		;;
		u) USERNAME="$OPTARG"
		;;
		p) PASSWORD="$OPTARG"
		;;
	esac
done
 
find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;
  1. 将上面脚本存储为mavenimport.sh文件。
  2. 在要上传私服jar包的目录打开git命令窗体
  3. 输入如下命令:./mavenimport.sh -u admin -p admin123 -r http://localhost:9081/nexus/content/repositories/thirdparty/



  1. 执行命令即可。



  1. 在nexus查看确认是否上传成功。


批量上传jar包到私服命令解析

这个脚本包含两个主要部分:一个用于解析命令行参数的循环,和一个用于查找并上传文件的find命令链。下面是对每个部分的详细解释:

解析命令行参数的循环:

while getopts ":r:u:p:" opt; do
    case $opt in
        r) REPO_URL="$OPTARG"
        ;;
        u) USERNAME="$OPTARG"
        ;;
        p) PASSWORD="$OPTARG"
        ;;
    esac
done

这部分脚本使用getopts命令来解析命令行选项。getopts是一个shell内置命令,用于解析位置参数。

  • :r:u:p: 指定了三个带有值的选项:-r、-u和-p。冒号:表示选项后面需要跟随一个值。
  • opt 是由getopts提供的变量,包含当前解析到的选项字符。
  • case 语句用于根据opt变量的值来执行不同的代码块。

对于每个选项:

  • -r 后面跟随的值将被存储在变量REPO_URL中,这通常是一个仓库的URL。
  • -u 后面跟随的值将被存储在变量USERNAME中,这通常是用于认证的用户名。
  • -p 后面跟随的值将被存储在变量PASSWORD中,这通常是用于认证的密码。

查找并上传文件的find命令链:

find . -type f -not -path './mavenimport.sh*' -not -path '*/\.*' -not -path '*/\^archetype-catalog.xml*' -not -path '*/^maven-metadata-local*.xml' -not -path '*/^maven-metadata-deployment*.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{}

这部分脚本执行以下操作:

  1. find . -type f:从当前目录开始查找所有类型为文件(-type f)的项。
  2. -not -path:排除匹配特定路径模式的文件。这里排除了:
  3. 当前目录下的mavenimport.sh脚本文件。
  4. 所有以点(.)开头的隐藏文件或目录。
  5. Maven的特定元数据文件,如archetype-catalog.xml、maven-metadata-local.xml和部署相关的maven-metadata.xml文件。
  6. sed "s|^\./||":使用sed命令来删除文件路径开头的.和斜杠(/),这样处理后的路径可以直接用于URL。
  7. xargs -I '{}':xargs命令用于构建并执行命令行,-I '{}'定义了一个替换字符串{},它将在xargs执行的命令中被替换为输入行。
  8. curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{}:对于xargs的每个输入(即每个文件的路径),构建一个curl命令来上传文件。这里使用的是:
  9. -u:指定用户名和密码进行HTTP认证。
  10. -X PUT:指定HTTP请求类型为PUT,通常用于上传文件。
  11. -v:详细模式,输出通信的详细过程。
  12. -T {}:上传{}(即每个文件)到服务器。
  13. ${REPO_URL}/{}:将文件上传到由REPO_URL指定的基础URL,后面跟着处理过的文件路径。

整个脚本的目的是:通过解析命令行参数来获取仓库URL和认证信息,然后查找当前目录及其子目录下的所有文件(除了一些特定的排除项),并将这些文件上传到指定的仓库URL。

相关推荐

想减少Windows 11内存占用?请取消固定Teams

如果你想要提高Windows11系统的运行速度,那么可以禁用某些默认启用的功能和设置。如果你的Windows11是安装在已经停止支持的设备或者内存容量不高的旧设备,那么应该立即限制或禁用固...

Windows查看端口占用、查看PID对应的进程、并终止进程

Windows下:查看端口占用netstat-ano|findstr"端口号"获取到pid查看PID对应的进程tasklist|findstr"进程ID"...

计算机组成原理(36): 分时之一——进程

建立一个虚拟机VM目标:给每个程序一个自己的虚拟机“VirtualMachine”,程序并不知道其他的虚拟机。1.1进程(Process)为了捕获正在运行的程序,我们创建一个称为“进程(Proce...

window系统如何停止端口被占用的进程(高手版)

如上图1,作为开发人员是不是经常遇到这个问题?(Webserverfailedtostart.Port9527wasalreadyinuse.)当然,如果在你知道确实有某个进程正占...

电脑的文件无法删除咋回事?你需要这款神兵利器

很多朋友用电脑的时候,都遇到过文件无法删除的情况。这往往是由于文件被某个软件、进程所调用所引发的——在Windows中,某个文件如果被使用,这个文件可能就没法进行删除、重命名之类的操作了。想要进一步操...

Windows日志分析(windows 日志文件)

1.Windows日志文件简介1.1Windows日志核心分类1.系统日志系统日志包含由Windows系统组件记录的事件,记录系统进程和设备驱动程序的活动。由它审核的系统事件包括启动失败的设备驱动程...

电脑软件崩溃、闪退不用慌!DJS Tech 教你几招轻松解决

当你正全神贯注用电脑处理重要文件、沉浸在精彩的游戏世界,或是观看喜欢的视频时,软件突然崩溃、闪退,那一刻的烦躁简直难以言喻。别着急,DJSTech作为深耕计算机领域多年的专业团队,为你带来一系列超...

微软Win11推进淘汰控制面板,时间服务器配置迁移至设置应用

IT之家5月29日消息,科技媒体Winaero昨日(5月28日)发布博文,报道称微软在Windows11系统中,继续推进“淘汰控制面板”进程,配置时间服务器地址选项迁移到设置应...

微软 PowerToys更新,可帮你找出 Win11上哪些进程正在占用该文件

IT之家11月3日消息,微软针对Windows11和Windows10的PowerToys已经更新到了最新的0.64.0版本,并上线了一个名为“文件锁匠FileLock...

Windows基础操作 认识任务管理器(windows任务管理器的使用)

Windows基础操作:认识任务管理器任务管理器(TaskManager)是Windows系统中一个功能强大的实用工具,它为用户提供了实时监控系统资源、管理正在运行的程序和服务的能力。掌握任务管理器...

windows——netstat过滤(终止进程)

windows——netstat过滤(终止进程)在Windows操作系统中,使用netstat命令可以查看网络连接的状态。要过滤特定协议或端口的连接,可以使用以下命令:查看所有连接:netstat-...

只要这么做 Windows Defender与第三方就能和平共存啦

无论大家是否喜欢WindowsDefender,伴随着Windows10的不断升级,它已经成为系统的底层必备组件之一。虽然我们有各种各样的方法去关闭它,换用顺手的第三方,但只要更新打补丁,噩梦就来...

Win10如何彻底关闭wsappx进程(win10 wsappx怎么关闭)

win10如何彻底关闭wsappx进程?wsappx进程是什么?wsappx进程是Windows10系统的一部分,这个进程是WindowsStore和微软通用应用程序平台(UWP)的依赖进程。...

Windows环境黑客入侵应急与排查(黑客入侵电脑原理)

1文件分析1.1临时目录排查黑客往往可能将病毒放在临时目录(tmp/temp),或者将病毒相关文件释放到临时目录,因此需要检查临时目录是否存在异常文件。假设系统盘在C盘,则通常情况下的临时目录如下...

Windows 11 24H2 KB5044384出现大面积安装失败、任务管理器0进程等问题

Windows11KB5044384更新由于出现大量错误而无法在Windows1124H2上安装、其中包括一个奇怪的错误,即由于0x800f0922、0x800736b3和0x8...

取消回复欢迎 发表评论: