• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

maven本地仓库同步上传到nexus远程仓库

武飞扬头像
b哈利路亚d
帮助7

场景
        合作伙伴的项目,仅提供部分应用层源码,底层代码不提供,只给提供jar包使用。为了方便二次开发应用,计划吧他的jar包放到本地nexus库上使用。

第一步:创建自己远程仓库(也可以使用现有的),需要使用管理登录

学新通
选择maven2(hosted)方式

 学新通

创建仓库配置

学新通
查看仓库信息

 学新通

复制仓库路径,上传时需要用

 学新通

 第二步:准备上传组件包

需要用到shell脚本,建议在linux环境下搞。

创建操作目录
sudo mkdir /opt/maven-repo
 学新通
cd /opt/maven-repo
将需要上传的组件包拷贝到操作目录中.注意,脚本是吧默认目录名作为group使用,要和代码配置的一样,否则代码的pom文件要改。
#创建根目录
sudo mkdir com
 学新通
#上传本地仓库组件
学新通
写脚本脚本

注意脚本目录在maven-repo下
vim mavenimport.sh

  1.  
    #!/bin/bash
  2.  
    # copy and run this script to the root of the repository directory containing files
  3.  
    # this script attempts to exclude uploading itself explicitly so the script name is important
  4.  
    # Get command line params
  5.  
    while getopts ":r:u:p:" opt; do
  6.  
        case $opt in
  7.  
            r) REPO_URL="$OPTARG"
  8.  
            ;;
  9.  
            u) USERNAME="$OPTARG"
  10.  
            ;;
  11.  
            p) PASSWORD="$OPTARG"
  12.  
            ;;
  13.  
        esac
  14.  
    done
  15.  
    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}{} ;
  16.  
     
  17.  
     
学新通

给脚本赋予执行权限

学新通

执行上传脚本
# -u 用户名
# -p 密码
# -r 远程仓库路径

./mavenimport.sh -u admin -p Safe@123 -r http://127.0.0.1:9091/repository/cmiot/

这里服务器和nexus在一起,所以直接用127内网传比较快。
上传成功 

学新通

 学新通

 然后就可以用了。用的时候记得配置maven的setting。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhjfkc
系列文章
更多 icon
同类精品
更多 icon
继续加载