搬砖小弟
Maven - 批量上传jar包到私服
2020-03-26 / 2 min read

单个上传

mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=10.2.0.1.0 -Dpackaging=jar -Dfile=D:\\ojdbc6.jar -Durl=http://ip:8081/repository/maven-releases/ -DrepositoryId=nexus

批量上传

  1. 先将本地maven/repository仓库打一个完整的zip压缩包

  2. 上传到linux目录,如:/opt

  3. 解压repository.zip

  4. 进入repository目录

  5. 创建mavenimport.sh 文件,添加以下内容,并将脚本放到服务器的repository目录下,执行以下脚本

    #!/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}/{} ;
    
    # ./mavenimport.sh -u admin -p admin -r http://jenkins_ip:port/repository/local/
    
    ./mavenimport.sh -u admin -p admin -r http://jenkins_ip:port/repository/local/