批量上传Maven仓库jar包到Nexus3.x私服
1.手动mvn命令上传单个Jar ,可通过nexus自带上传
示例:
2.,在eclipse上,使用deploy命令,批量上传
不适合上传公司项目的本地仓库,个人的本地仓库没有问题
pom.xml 要有如下配置:
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>shwz-releases</name>
<url>http://localhost:8081/repository/shwz-releases/</url>
</repository>
<snapshotRepository>
<id>shwz-snapshots</id>
<name>Snapshot</name>
<url>http://localhost:8081/repository/shwz-snapshots/</url>
</snapshotRepository>
</distributionManagement>
3.创建touch mavenimport.sh脚本,批量上传
1.先将本地maven/repository仓库打一个完整的zip压缩包
2.上传到linux目录,如:/opt
3.解压repository.zip
4.进入repository目录
5.创建touch 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
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}/{} ;
6.输入chmod a+x mavenimport.sh进行可执行授权
7.执行导入命令
./mavenimport.sh -u admin -p admin123 -r http://192.168.6.52:8081/repository/shwz-releases/
8.等待全部导入完毕后,在Nexus上刷新即可看到已导入的jar