本地JAR包如何上传私有仓库

需求背景

有些第三方的jar包需要手动上传到maven私有仓库,以便通过maven来管理依赖.
为简化手动上传的jar包的操作步骤,所以整了个脚本,在使用时只需修改相应变量即可。

脚本示例

#!/bin/bash

jarFile="test.jar"
groupId="com.wywtime"
artifactId="test"
version="1.0.0"
# 私有仓库地址
mvn_repository="http://localhost:12345/repository/lib"

# 将点转化为斜杠
path=`echo ${groupId} | sed  "s/\./\//g"`

# 动态生成pom文件
cat > ${artifactId}-${version}.pom <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>${groupId}</groupId>
  <artifactId>${artifactId}</artifactId>
  <version>${version}</version>
</project>
EOF

# 上传jar文件
curl -u "admin:admin" -X PUT -v -T ${jarFile} ${mvn_repository}/${path}/${artifactId}/${version}/${artifactId}-${version}.jar

# 上传pom文件
curl -u "admin:admin" -X PUT -v -T ${artifactId}-${version}.pom ${mvn_repository}/${path}/${artifactId}/${version}/${artifactId}-${version}.pom

# 删除动态生成的pom
rm -rf ${artifactId}-${version}.pom

posted on 2022-07-20 06:01  白首码农  阅读(694)  评论(0编辑  收藏  举报