方法一:通过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仓库中。