内网上传maven依赖到 Nexus 库
Posted supingemail
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内网上传maven依赖到 Nexus 库相关的知识,希望对你有一定的参考价值。
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。
目录
概括
有些时候,开发面临的问题是需要在内网进行开发,即:无网络的情况下开发。那么自然而然就会遇到一个问题:使用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 库的主要内容,如果未能解决你的问题,请参考以下文章