由于Nexus3仓库在内网,无法访问外网服务器,为解决这个问题,特写此文档解决本地仓库和Nexus3仓库Jar同步问题。
一、本地Jar打包
找到本地仓库根目录,将需要上传的Jar打包。
image.png
注:需要包含Jar的包路径
二、Nexus3配置
image.png三、脚本编写
在 /home目录下,新建maven目录
$ mkdir maven
# 上传压缩的Jar到maven目录
# 编写脚本
$ vi 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}/{} ;
# 保存脚本
$ wq
# 脚本授权
$ chmod +x mavenimport.sh
# 执行脚本
$ ./mavenimport.sh -u admin -p admin123 -r http://172.20.10.6:8081/repository/my_repo/
网友评论