安卓上传依赖到maven私有仓库

1.先运行gradlew命令编译通过,此时会下载依赖到本地仓库

/gradlew clean assemble

2.运行gradlew命令检查所有依赖,防止缺少pom文件导致后续上传失败

./gradlew --refresh-dependencies

3.把以下gradle命令加到任意build.gradlew里,然后运行cacheToLocalMavenRepository任务,会把依赖生成在项目根目录下,并且目录结构满足maven上传时的格式

tasks.register("cacheToLocalMavenRepository", Copy) {

duplicatesStrategy 'exclude'

from new File(gradle.gradleUserHomeDir, 'caches/modules-2/files-2.1')

into rootDir.absolutePath + '/repolocal5.7_DKJT_VPN'

eachFile {

List<String> parts = it.path.split('/')

print(parts.toString() + "\n")

it.path = parts0.replace('.', '/') + '/' + parts1 + '/' + parts2 + '/' + parts4

}

includeEmptyDirs false

}

4.使用以下shell脚本命令上传到maven仓库

./mvnupload.sh -u admin -p Passw0rd -r http://localhost:8081/repository/Android-Agent/

如脚本没有执行权限,执行命令chmod +x mvnupload.sh

5.mvnupload.sh脚本内容如下

bash 复制代码
#!/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}{} ;
相关推荐
海的透彻18 分钟前
dockerfile如何快速构建容器(java服务)
java·开发语言
xiangxiongfly91519 分钟前
Android GsonFactory总结
android·gson·gsonfactory
code2cat31 分钟前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
后台模板学习1 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
w_zero_one1 小时前
算法--构造
java·数据结构·算法
SL_staff2 小时前
制造业订单交付崩盘?用四层协同框架重建交付可信度(技术实践)
java·产品·全栈
WythePlus2 小时前
Android 14 SELinux策略深度解析
android·安全策略·selinux策略
SL_staff2 小时前
打破风控迭代死循环:用决策编排重构业务与技术协作链路
java·产品·全栈
Mikko73 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端
.Bryce.3 小时前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测