此方法适用于 本地jar包文件结构完整的情况。
完整结构如下:
jar
包名称
版本
jar
包
一、在服务器
opt
目录下创建一个名为localrepository
文件夹
mkdir localrepository
二、通过
Xftp
或其他传输工具将 本地Maven仓库中要上传的包 上传到服务器中上一步创建的文件夹内
三、编写shell脚本
#!/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}/{} ;
四、对编写的脚本进行赋权
chmod a+x mavenimport.sh
#意思是给所有的用户添加执行 mavenimport.sh 这个文件的权限
# chmod 是添加更改权限命令
# a是指所有的用户组,包括root用户组,文件拥有者的用户组,还有其他用户组。
# +x是指添加执行权限。
# +x是执行权限,+r是阅读权限,+w是写入权限
五、执行导入命令
./mavenimport.sh -u admin -p admin123 -r http://ip:8081/repository/maven-releases/
在实际学习或工作环境中,还可能会遇到jar
包目录结构不完整的情况,这时需要对jar
包进行规范化处理
- cd到要转化的jar包目录
- cmd通过mvn进行操作
以demo-biz.jar为例:
mvn install:install-file -DgroupId=com.zhgc -DartifactId=demo-biz -Dversion=1.0.0 -Dpackaging=jar -Dfile=demo-biz.jar
- DgroupId对应pom文件中dependency中的groupId
- DartifactId定义artifactId
- Dversion定义版本号
- Dpackaging选择要转化的本地jar包
出现 BUILD SUCCESS 即为构建成功
处理完之后,使用开篇的方法,上传jar包到私服