1、在nexus中创建导入仓库
点“Create repository”
选择maven2(hosted)
填上对应的仓库name,Version policy选“Mixed”
Hosted中的Deployment policy选择“Allow redeploy”
点“Create repository”创建仓库
创建好的仓库如下
记下仓库的url,下面脚本会用到
2、把Maven本地库打包,然后上传到nexus服务器目录,如opt
打包文件
上传后解压:
# 安装7z,如果是zip格式的请安装unzip
sudo apt-get install p7zip-full
# 解压
7z x repo.7z
解压后目录:
在/opt/repo下创建导入脚本mavenimport.sh:
touch 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; docase $opt inr) REPO_URL="$OPTARG";;u) USERNAME="$OPTARG";;p) PASSWORD="$OPTARG";;esac
donefind . -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}/{} ;
脚本位置如下:
脚本赋执行权限
cd /opt/repo
chmod +x mavenimport.sh
执行脚本进行导入
# -u是nexus的用户名
# -p是nexus的密码
# -r是nexus导入库的url
./mavenimport.sh -u admin -p nexus -r http://172.25.193.28:8081/repository/local_repo/
导入过程(原理是循环调用nexus的api上传包)
登录nexus查看,发现已上传