在本地的maven库里面找到私有的那些jar包,将目录一并复制了。
然后创建个shell脚本batch_upload.sh
[root@jenkins repository_sdyc]# cat batch_upload.sh 
#!/bin/bash
# 参数解析
while getopts ":r:u:p:" opt; do
  case $opt in
    r) REPO_URL="${OPTARG%/}/" ;;  # 确保URL以/结尾
    u) USERNAME="$OPTARG" ;;
    p) PASSWORD="$OPTARG" ;;
    *) echo "用法: $0 -u <用户名> -p <密码> -r <仓库URL>" ; exit 1 ;;
  esac
done
# 日志记录
LOG_FILE="upload.log"
echo "===== 开始上传: $(date) =====" | tee -a "$LOG_FILE"
# 核心上传逻辑
find . -type f \
  -not -path './batch_upload.sh*' \
  -not -path '*/\.*' \
  -not -path '*/\^archetype-catalog\.xml*' \
  -not -path '*/\^maven-metadata*\.xml' \
  -not -path '*.lastUpdated' \
  -not -path '*.repositories' \
  -print0 | \
  while IFS= read -r -d '' file; do
    rel_path="${file#./}"
    echo "正在上传: $rel_path" | tee -a "$LOG_FILE"
    
    curl -u "$USERNAME:$PASSWORD" \
      --connect-timeout 30 \
      --max-time 300 \
      -X PUT \
      -T "$rel_path" \
      "${REPO_URL}${rel_path}" \
      --progress-bar | tee -a "$LOG_FILE"
    
    echo -e "\n" | tee -a "$LOG_FILE"
  done
echo "===== 上传完成: $(date) =====" | tee -a "$LOG_FILE"
[root@jenkins repository_sdyc]# sh -x  batch_upload.sh -u 用户名 -p 密码 -r http://仓库地址:端口号/repository/mvn-devops-release/
# 复制自己的nexus的地址就行
http://仓库地址:端口号/repository/mvn-devops-release/
 
 
                     
            
        













 
                    

 
                 
                    