内网上传maven依赖到 Nexus 库

Posted supingemail

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内网上传maven依赖到 Nexus 库相关的知识,希望对你有一定的参考价值。

好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。

目录

概括

1.下载依赖到本地

2.将依赖上传

3.创建推送脚本

4.编写执行命令


概括

有些时候,开发面临的问题是需要在内网进行开发,即:无网络的情况下开发。那么自然而然就会遇到一个问题:使用java语言开发业务的时候,框架所依赖的jar文件就没有办法再内网完成,那就需要将提前下载好的依赖文件,放入到某个目录,然后使用脚本将maven的仓库信息推送到nexus库上去。

1.下载依赖到本地

首先将业务系统所需要的依赖获取到,放到本地的某个文件夹。为了省事,可以直接将maven的 repository 下的所有依赖全部拷贝出来,放入固定文件夹(d: //repository)

2.将依赖上传

在目标系统下,创建文件夹,用来存放d: //repository/ 下的文件,比如穿件/home/repository/,使用xshell 工具将d: //repository/ 下的文件 全部放入到 /home/repository/ 下

3.创建推送脚本

推送脚本mavenInstall.sh 主要是使用命令将/home/repository/ 的文件都推送到Nexus去,在/home/repository/ 下创建 mavenInstall.sh ,具体写法如下:

#/bin/bash
#
#
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/;

一定要注意编码,linux 和windows 的编码格式,会导文件执行出错。

4.编写执行命令

执行命令的书写如下所示:

写法:

./mavenInstall.sh -u 用户名 -p 密码 -r 创库地址

样例:

./mavenInstall.sh -u root -p root!@# -r http://192.128.170.1:8081/repository/demo-repo/

注意:还是编码字符集的问题,如果编码不一致,容易出问题。

最后执行推送命令,就可以完成在内网情况下,将maven依赖推送到nexus服务器。进而在你的项目中使用内网的nexus配置信息,进行依赖的获取。

以上是关于内网上传maven依赖到 Nexus 库的主要内容,如果未能解决你的问题,请参考以下文章

内网上传maven依赖到 Nexus 库

通过 Maven 将整个目录上传/下载到 Nexus

使用 Maven 在 Nexus 中自动上传工件

如何使用没有pom文件或settings.xml文件的maven直接将jar文件上传到nexus存储库?

导入第三方Jar包到Nexus私服

Maven仓库--Nexus的配置使用