• Nexus创建maven仓库导入maven依赖


    Nexus创建maven仓库导入maven依赖

    近期使用公司内网的Nexus搭了项目的镜像仓库,方便统一做项目的依赖管理,此处做下记录。

    引入

    导入Nexus分为单个和批量导入,本篇使用界面做单个依赖导入,使用脚本做批量导入。

    项目环境:

    • Nexus:3.21.1-01

    • Tabby:1.0.168

    此处略去Nexus服务器搭建过程,可自行百度,以下步骤为创建仓库并导入依赖。

    1、创建Maven仓库

    image

    image

    【注】此处仓库名称可自行确定。
    image

    以上,直接点【save】创建仓库即可。

    2、导入单个依赖

    此处在Nexus服务器界面导入单个依赖。
    image

    在导入界面,选中本地jar包,并填写jar包对应maven坐标,即可上传单个依赖,以下以mysql驱动依赖为例。
    image

    完成后可在maven仓库里看到上传的依赖。

    3、批量导入依赖

    Nexus3需要使用脚本做批量导入,可直接使用Nexus服务器做导入,也可分别使用两台服务器,一台为导入服务器,一台Nexus服务器。

    此处为了更通用,模拟两台服务器的情况,一台导入服务器,一台Nexus服务器,从导入服务器向Nexus服务器做导入。

    【注】导入服务器和Nexus服务器之间网络必须互通。

    3.1 在导入服务器创建依赖文件夹

    mkdir /usr/repo
    

    3.2 将依赖文件上传到导入服务器

    进入本地仓库,将所有依赖文件压缩成一个压缩文件,再借助远程登录工具的SFTP服务,将本地的依赖文件压缩包上传到服务器上,再在服务器上解压。
    image
    image

    执行以下命令解压文件:

    unzip maven.zip -d /usr/repo/
    

    解压后:
    image

    3.3 编写批量导入脚本

    直接在当前目录/usr/repo使用vim编辑器。

    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 './mavenUpload\.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}/{} ;
    

    image

    3.3.1 如脚本为Windows上传需执行此步骤

    如果以上mavenimport.sh脚本为Windows编辑后上传后续执行会出现问题,如直接在Linux服务器上使用vim编辑器可跳过此步骤。

    此处模拟Windows编辑脚本后上传,执行脚本:
    image

    会出现报错:

    mavenimport.sh:行5: $'\r': 未找到命令
    mavenimport.sh:行7: 未预期的符号 `$'in\r'' 附近有语法错误
    'avenimport.sh:行7: ` case $opt in
    

    使用vim编辑器查看会发现脚本存在问题,每一行后面都加了^M。

    vim -b mavenimport.sh
    

    image

    为解决此问题,执行以下命令:

    sed -i 's/\r//g' mavenimport.sh
    

    再次执行上诉vim -b mavenimport.sh可发现脚本已正常。
    image

    3.4 向Nexus仓库批量导入依赖

    执行以下命令:

    sh /usr/repo/mavenimport.sh -u admin -p admin -r http://186.1.1.192:8081/repository/maven/
    

    【注】以下参数需根据实际情况调整。

    • -u 后为Nexus服务器账号

    • -p 后为Nexus服务器密码

    • -r 后为Nexus服务器仓库地址

    待脚本执行完成后到Nexus仓库查看:
    image

    以上已完成依赖批量导入Nexus仓库。


    吾生也有涯,而知也无涯。

  • 相关阅读:
    登陆SharePoint站点出现service unavailable----Http错误503
    SharePoint 配置站点导航栏顶级菜单栏的下拉菜单
    修改SharePoint列表中“添加新项目”链接
    大数据应用中如何进行技术选型?
    leetcode的注意点
    架构中的权衡
    数学与计算机
    论一个技术管理者的(工作中)无中生有的能力
    通过日志分析程序的问题的原因
    后续使用dubbo的必要性的思考
  • 原文地址:https://www.cnblogs.com/hzauxx/p/16442487.html
Copyright © 2020-2023  润新知