安装Nexus
下载安装包存放至对应文件夹(记住存放路径)。
//先切换到存放安装包的目录
cd C:\J_Workpace\nexus-3.31.1-01-win64\nexus-3.31.1-01\bin
//然后执行
nexus.exe /install
/*
进入到nexus的bin目录 “nexus /start” 执行会出现“Could not start service. Error code: 1060”,
这是因为nexus版本造成的启动命令不一样,改为“nexus /run”就可以正常启动了
*/
本地访问就在浏览器输入:http://localhost:8081/ 服务器就输入对应地址加 8081端口。
Nexus 配置
详见:点击跳转
https://blog.csdn.net/pbl13071138970/article/details/120296519
说明:group、hosted、proxy三个库的含义
项目 | 详细说明 |
---|---|
hosted | 宿主仓库:主要用于部署无法从公共仓库获取的构件以及自己或第三方的项目构件 |
proxy | 代理仓库:代理公共的远程仓库 |
group | 仓库组:Nexus 通过仓库组统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库 |
关系如下图所示:
上传jar包问题
脚本批量上传:
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
# 步骤1:优化原作者有些无啥必要的筛选,因为写的必不起作用,特别注意 -path并不是正则,很像mysql的like模糊查询,大量使用到的转义字符压根没啥软用,而且就算是正则语法他写的也是错的
#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}/{} ;
# 下行命令讲解
# 步骤1:当前目录下找出所有是文件非目录类型的文件 - 且排除掉mavenimport.sh文件
# 步骤2:将当前筛选出的文件绝对路径== 前面的 ./ 字符替换成空字符
# 如 ./cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.jar ==> cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.jar
# 如 ./cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.pom ==> cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.pom
# 步骤3:开始一个一个的上传文件(筛选出有多少行文件绝对路径,则curl则执行多少遍)
# curl -u "$USERNAME:$PASSWORD" -X PUT -v -T cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.jar ${REPO_URL}/cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.jar
# curl -u "$USERNAME:$PASSWORD" -X PUT -v -T cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.pom ${REPO_URL}/cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.pom
find . -type f -not -path '*mavenimport.sh*' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;
建议是将需要上传的jar包复制出来单独弄一个文件夹,然后把sh脚本放置的与jar包平级,如下图:
输入调用命令符:-r 后面输入自己的私有库地址
./mavenimport.sh -u admin -p qwer12345 -r http://1xx.xxx.xxx.xxx:8081/repository/TestAli_maven_group/
手动上传
1.选择上传jar文件,操作如下图
2.如果该jar包还有其他依赖,那么需要上传pom.xml文件,通过点击add another asset 增加,操作如下:
3.然后进入仓库中查看
笔记。