为了加速编译代码,想将本地maven缓存导入内网私库使用。
脚本网上搜的
#!/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
# ./mavenimport.sh -u admin -p admin123 -r http://ip:8081/repository/maven-releases/
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}/{} ;
执行方法注释中有。
需要注意的是,要在库的下级目录执行。如:C:\Users\xxx\.m2\repository 的目录下。
看到的应该是如下图目录:
这样提交到nexus上才会是com.xxx.xxx或者org.xxx.xxx
开始在repository外执行的,结果目录变成了repository.com.xxx.xxx导致识别一些问题。
以上