本地maven环境,在仓库上创建http://192.168.1.1:8081/repository/center2-maven-group
center2-maven-group包含:
center2-maven-releases-local 正式发布
center2-maven-snapshots-local 测试发布
第一种 本地project配置,上传本工程包
1.配置maven的settings,
<server>
<id>developer-central</id>
<username>developer</username>
<password>developer123456</password>
</server>
<server>
<id>developer-snapshots</id>
<username>developer</username>
<password>developer123456</password>
</server>
maven配置文件中的server.id必须和respository.id保持一致,否则会报 Nexus: Return code is: 401, ReasonPhrase: Unauthorized... 权限错误问题.
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>developer-central</id>
<name>center1-maven-group</name>
<url>http://192.168.1.1:8081/repository/center2-maven-group</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
</repository>
<repository>
<snapshots />
<id>developer-snapshots</id>
<name>center1-maven-group</name>
<url>http://192.168.1.1:8081/repository/center2-maven-group</url>
</repository>
2.maven工程pom.xml
<distributionManagement>
<repository>
<id>developer-central</id>
<name>ProReleases</name>
<url>http://192.168.1.1:8081/repository/center2-maven-releases-local</url>
</repository>
<snapshotRepository>
<id>developer-snapshots</id>
<name>ProSnapshots</name>
<url>http://192.168.1.1:8081/repository/center2-maven-snapshots-local</url>
</snapshotRepository>
</distributionManagement>
3.用命令 mvn clean deploy 上传,即可看到project的工程包
第二种 脚本方式本地仓库jar包批量导入maven私服(亲测有效)
1.脚本内容,将以下内容保存为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}/{} ;
2.git上或者linux上,同级com目录下,执行
./mavenimport.sh -r http://192.168.1.1:8081/repository/center2-maven-snapshots-local -u admin -p admin123
./mavenimport.sh -r http://192.168.1.1:8081/repository/center2-maven-snapshots-local -u admin -p admin123
注:admin/admin123为私服账号密码 http........为私服文件保存路径