Android 搭建私有maven仓库及上传项目
Posted 王永迪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 搭建私有maven仓库及上传项目相关的知识,希望对你有一定的参考价值。
搭建私有maven仓库及上传项目
前言
在日常工作及项目迭代过程中,一定有不少同学自己写了一些框架性的东西,或者一些好用的工具,总之就是能复用的代码。然而也有不少同学为了复用这些代码不得不复制粘贴到不同项目中,这样相同的功能出现了多份代码,在后期的维护过程中带来极度不便,更新一次SDK要口口传送多次且无法按版本迭代和降级。为了解决这一系列问题,我们不妨尝试将这些代码部署到maven仓库,一处编写多处使用。
Nexus 介绍
Sonatype Nexus 是一个常见的搭建本地私有仓库的工具,详情进入官网查看https://www.sonatype.com/download-oss-sonatype
搭建私有Nexus仓库
下载 Nexus 安装包
https://www.sonatype.com/download-oss-sonatype
解压 Nexus 文件
## 启动 Nexus 服务
nexus-3.15.2-01/bin/nexus start
控制台输出如下:
到此 Nexus 服务已经启动,访问 http://localhost:8081 即可访问 Nexus 私服,
初始账户:admin
初始密码:admin123
android Lib 发布私有仓库
项目配置
在项目根目录下 gradle.properties 中添加配置:
仓库地址如下:
# Maven仓库的URL
MAVEN_REPO_RELEASE_URL=http://localhost:8081/repository/maven-releases/
# 对应maven的GroupId的值
GROUP=maven-releases
# 登录nexus ossde的用户名
NEXUS_USERNAME=admin
#登录nexus oss的密码
NEXUS_PASSWORD=admin123
# groupid
GROUP_ID=cn.soulapp.android
# type
TYPE=aar
# description
DESCRIPTION=Soul Pay SDK By Android ~
在lib的build.gradle中添加:
// 添加maven依赖
apply plugin: 'maven'
...
// 配置上传指令
uploadArchives
configuration = configurations.archives
repositories
mavenDeployer
repository(url: MAVEN_REPO_RELEASE_URL)
authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
pom.project
version '1.0.3'
artifactId 'AndroidPaySDK'
groupId GROUP_ID
packaging TYPE
description DESCRIPTION
上传 library
执行指令:
./gradlew uploadArchives
等待发布成功~
使用 library
在根目录 build.gradle 加入
buildscript
repositories
google()
jcenter()
// 配置私有仓库地址
maven
url 'http://localhost:8081/repository/maven-releases/'
dependencies
classpath 'com.android.tools.build:gradle:3.3.1'
allprojects
repositories
google()
jcenter()
maven
url 'http://localhost:8081/repository/maven-releases/'
task clean(type: Delete)
delete rootProject.buildDir
在依赖此 library 项目中引用
api 'cn.soulapp.android:AndroidPaySDK:1.0.3@aar'
结语
至此,基于 Nexus 搭建私有 Maven 仓库已完成,祝您工作愉快~
以上是关于Android 搭建私有maven仓库及上传项目的主要内容,如果未能解决你的问题,请参考以下文章
搭建私有Jfrog artifactory仓库并上传Android Library
搭建私有Jfrog artifactory仓库并上传Android Library