安卓上传依赖到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}{} ;
相关推荐
2601_9620739711 小时前
苍穹外卖-day07(Spring Cache & 购物车业务逻辑)
java·后端·spring
顶点多余11 小时前
算法哪些事儿---2
java·开发语言
深入云栈12 小时前
CompleteFuture VS CompletableFuture:Netty 为何自研 Future
java·架构
v_348360876212 小时前
Android8 开机动画结束分析
android
choumou_M12 小时前
SpringBoot_7:用户资源的上传与修改
java·spring boot·后端
user_admin_god13 小时前
一体化数据归集接口详细设计说明
java·大数据·spring boot·后端·spring
LlmCraft|大模型工程实践13 小时前
08. Docker Compose 一键编排:多容器应用的指挥家
java·spring cloud·eureka
珍珠先生13 小时前
第14章 设计模式入门:单例、工厂、建造者与代理
java
坐吃山猪13 小时前
JDK 8 到 JDK 21 新特性知识要点
java·开发语言·windows
坐吃山猪13 小时前
【多线程】FutureTask多线程底层实现
java·开发语言·数据库