使用Nexus上传JAR包的两种方法
2024-01-02 20:36:39
方法一:通过Browse server contents上传
步骤如下:
- 登录到Nexus Repository Manager的Web界面。
- 导航至您想要上传JAR包的目标仓库。
- 在左侧菜单栏中,点击“Browse server contents”或类似的浏览选项,进入仓库内容页面。
- 点击“Upload”按钮,选择本地需要上传的JAR文件。
- 在弹出窗口中填写Maven坐标(GAV)信息,包括GroupId、ArtifactId和Version。确保这些信息准确无误,以便正确识别和管理JAR包。
方法二:使用脚本批量上传
步骤如下:
1. 新建一个仓库
在Nexus的"Server administration and configuration"中新建一个用于存放JAR包的仓库。
2. 编写并运行上传脚本
首先创建一个名为mavenimport.sh
的bash脚本,并编辑其内容如下:
#!/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}{} ;
注释
#!/bin/bash
# 将此脚本复制并运行在包含待上传文件的仓库目录下
# 脚本会排除上传自身以及其他特定文件
# 获取命令行参数
while getopts ":r:u:p:" opt; do
case $opt in
r) REPO_URL="$OPTARG" # 设置远程仓库URL
;;
u) USERNAME="$OPTARG" # 设置用户名
;;
p) PASSWORD="$OPTARG" # 设置密码
;;
esac
done
# 查找当前目录及其子目录下的所有普通文件,但不包括脚本本身和其他Maven元数据文件
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|^\./||" |
# 使用curl命令将找到的文件逐个上传到Nexus仓库
xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}{} ;
3. 脚本授权
赋予脚本执行权限:
chmod +x mavenimport.sh
4. 执行脚本
最后,执行脚本并将账号、密码和远程仓库地址作为参数传入:
./mavenimport.sh -u admin -p password -r http://xx.xx.xx.xx:8081/repository/local/
-u
参数后跟的是 Nexus 的登录账号-p
参数后跟的是登录密码-r
参数后跟的是远程仓库的URL地址
通过这种方法,您可以方便地将整个目录下的JAR包批量上传到指定的Nexus仓库中。
文章来源:https://blog.csdn.net/qq_29752857/article/details/135344860
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!