使用nexus3构建maven私服(离线、内网),并批量导入jar

本文介绍了如何在内网环境中使用Docker安装Nexus3,并详细阐述了从Nexus2升级到Nexus3的四种方法,特别是重点讲解了一种通过脚本将Nexus2的jar包迁移至Nexus3的成功案例,包括步骤和所需时间。该方法适用于版本不支持官方升级的情况。
摘要由CSDN通过智能技术生成

我是使用docker装的nexus3,跟linux一样用起来一样,

如果你还没有安装nexus3,可以参照我写的这个 docker安装nexus3 (离线/内网)_zk_Kang的博客-CSDN博客

因为公司是内网,公司原来用的是nexus2,我这是升级到nexus3最新版 3.40.1

其他版本都一样。

1.首先说下思路

1.安装nexus3之后,可以加一个proxy代理,把nexus2的路径加入新的代理中,这个方法最简单,但是也需要保留nexus2,这样就等于nexus3和nexus2共存,达不到升级的效果。

2.直接将nexus2下的jar拷贝到nexus3中,此方法也不行,因为nexus2(jar)和nexus3(byte文件)两个jar存放类型文件不一致,不能直接拷贝,

3.直接使用官方指定升级,,增加token,最后到upgrade中,升级。此方法最推荐,但是这有一个最大的问题,就是版本问题,有的到最后一步会提示 Cannot upgrade nexus/OSS/xxx to nexus/OSS/ xx Nexus Repository Manager xx or higher is required 。这就是版本不支持,要不就参照官网的指导方法,重新下载版本,重新尝试。

4.直接将旧的nexus2下的jar包,通过脚本直接传到新的nexus3里,我使用的就是此方法

这四种方法我都试过,最后使用第四种方法成功搭建maven仓库。

2.介绍第四种方法

1.先找到旧的nexus2上的jar包存放地址,将storage目录直接打包压缩,tar

直接使用xftp或者scp命令直接把这个打包好的压缩包传递到 nexus3服务器上任意一个空目录下。

2.写脚本

在压缩包目录下,新建一个.sh文件,名字随便起,vi 123.sh

内容如下,直接复制到123.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}/{} ;

赋予123.sh文件执行权限

chmod a+x 123.sh

执行命令 

其中*** 为你的密码,后面的http一长串就是你nexus3上新建立的maven本地仓库地址。

./123.sh -u admin -p *** -r http://ip:端口/repository/maven-hosted/

这个执行会占用很长时间,具体要看你要传递多少个jar

传递完后,直接在nexus3页面中对应的仓库查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值