场景
因远程nexus仓库数据丢失,历史版本组件包全部丢失,一个个项目重新打包上传工作量巨大,切很多历史版本无法找到。因此可以通过上传本地仓库中的组件包进行补充。
操作
第一步:创建远程仓库
(也可以使用现有的),需要使用管理登录
选择maven2(hosted)方式
创建仓库配置
查看仓库信息
复制仓库路径,上传时需要用
第二步:准备上传组件包
创建操作目录
sudo mkdir /opt/maven-repo
cd /opt/maven-repo
将需要上传的组件包拷贝到操作目录中
#创建根目录
sudo mkdir com
#拷贝本地仓库组件
sudo cp -r ~/.m2/repository/com/lizz ./com/lizz
上传脚本
vim mavenimport.sh
#!/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}{} ;
执行上传脚本
# -u 用户名
# -p 密码
# -r 远程仓库路径
./mavenimport.sh -u admin -p admin123 -r http://nexus.lizz.com/repository/lizz_test
上传异常:修改许可模式
上传成功
maven引用时注意是否引用到了新建的远程库,或者直接上传到在用的maven库中。