IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Android 发布Library 到远程maven 私服仓库(Nexus) -> 正文阅读

[Java知识库]Android 发布Library 到远程maven 私服仓库(Nexus)

下载Nexus 并配置私库

前言

一、使用Nexus3.x搭建maven私服
? ? 1、下载Nexus
? ? 2、Nexus的安装与配置
? ? 3、Nexus 私服仓库的创建

二、Android Gradle 配置远程maven 脚本

?? 1、AndroidGradle7.0以前
?? 2、AndroidGradle7.0以后

前言

很多小伙伴在开发Android的时候,特别是一些ToB项目中,往往要出不同的app,但是依赖的业务流程基本都是一样的,相当于多个app要依赖一个lib。为了方便维护lib,一般做法会有一下几种:

  • 1、将lib 打包成jar(缺点:每次更新都需要打包更新)
  • 2、将lib 提交到github 私有仓,并发布到Jitpack 中(简单方便,但是不方便更新,每次都要提交git后并在github 生成tag才能在jitpack 部署)
  • 3、将lib 发布到Nexus 私有仓,并gradle 部署maven(方便组内其他成员共同维护,且方便发布,只需要更新Gradle 中版本配置并执行Task即可)

而今天要说的就是第三种。

一、使用Nexus3.x搭建maven私服

?? 1、Nexus 下载地址

?? nexus下载地址

?? 2、Nexus的安装与配置

?? 1、解压到当前目录

?? 2、配置本机环境变量
在这里插入图片描述在这里插入图片描述

?? 3、进入…\nexus-3.38.0-01-win64\nexus-3.38.0-01-win64\nexus-3.38.0-01\etc目录下找到:nexus-default.properties文件

在这里插入图片描述

其中比较关键的几个参数:

application-port:是IP的端口号,默认为8081,如果端口号被占用,自行换成其他端口号

application-host:是你访问的nexus服务器的IP,默认为0.0.0.0(即只要是本机上的IP,就能连上nexus服务器,详解点我)。为了安全和屏蔽掉其他IP,我们可以改访问IP为localhost指向的IP(一般默认指向127.0.0.1,可以去C:\Windows\System32\drivers\etc的hosts文件中查询localhost指向的IP),改成本机上其他IP也可以

注意:如果想让局域网其他设备能访问,一定要关闭防火墙,且网段是一样的!

?? 4、打开cmd ,输入:
?? nexus.exe /run
在这里插入图片描述

?? 出现以上,说明启动Nexus 成功,再到浏览器输入:http://172.16.4.55:9082/

在这里插入图片描述
以上就说明整个Nexus 包括环境变量、ip、端口 都已经配置完成。

?? 3、Nexus 私服仓库的创建

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
复制URL,至此,Nexus 的私服仓库已经建立完成。下面将是Android Gradle 配置。

二、AndroidGradle配置远程maven脚本

  • 1、AndroidGradle7.0以前
apply plugin: 'maven'
 
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: url//私有maven库地址) {
                authentication(userName//账号, password// 密码)
            }
            pom.version = version // 版本信息
            pom.artifactId = artifactId // 项目信息
            pom.groupId = groupId
            pom.name = name
            pom.packaging = packaging // 打包类型,例如:aar
        }
    }
}

在这里插入图片描述

  • 2、AndroidGradle7.0以后

在lib 中的build.gradle 中配置maven-publish

plugins {
    id 'com.android.library'
    id 'maven-publish'

}

配置版本信息


publishing {
    repositories {
        maven {
            credentials {
                username '仓库发布用户名' 
                password '仓库发布用户密码' 
            }
            url 'http://.....' // 仓库地址

            allowInsecureProtocol = true

        }
    }
}
afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                // 添加以下配置可以自动从编译容器中获取release版本内容(使用debug可以获取debug版本内容),并生成pom文件
                // 注意:发布物声明必须在 afterEvaluate 内部,因为 components 在 afterEvaluate 阶段才生成完成
                from components.release //可以配置成debug 或者release

                version '2.2.3'//版本
                artifactId '名称'
                groupId = 'com.xx.xx'
                description '版本信息'


            }
        }
    }
}

配置完成后,点击AS 右侧栏Task 中的发布即可

在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 10:36:15  更:2022-07-03 10:39:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:19:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码