文章目录
- 一、Maven是什么?
- 二、Maven发布项目到本地
- 2.1 准备工作
- 2.2 创建上传任务
- 2.3 开始上传
- 2.4 使用上传到本地的依赖
- 三、Maven发布项目到私服
- 3.1 搭建私服
- 3.1.1 安装并运行服务器
- 3.1.2 配置私服仓库
- 3.2 配置需要上传的模块
- 3.3 使用上传到私服的模块
一、Maven是什么?
Maven是一个Java项目管理工具,同gradle仓库功能意义。(其他的请自行百度)。
我们通常使用的是 搭建自己的私服,还存储一些公共模块。或者有些公司会把常用的库缓存到自己的私服(实现网络缓存)。
二、Maven发布项目到本地
2.1 准备工作
创建一个Android项目,其中包含两个模块:app module 和 baselibrary module。
2.2 创建上传任务
在baselibrary模块的build.gradle文件指明上传任务。
...
//指明要使用maven插件
apply plugin: 'maven'
...
//定义一个uploadArchives task,并且指明要上传的参数
uploadArchives{
repositories.mavenDeployer{
// 设置本地仓库路径
repository(url: uri('../localRepository'))
// 指明模块包名(通常为模块包名,也可以任意)
pom.groupId = "com.canjun"
// 指明模块名称
pom.artifactId = "baselibrary"
// 指明当前module的version
pom.version = "1.0.0"
}
}
sync now 一下gradle文件
同步完成,会发现 定义的gradle task (uploadArchives) 已经生效了。
2.3 开始上传
或者
如果上传到本地仓库,则如下图所示,在本地仓库路径下 存储module的aar文件
2.4 使用上传到本地的依赖
在项目的build.gradle文件中,指明本地仓库的位置。
再在主模块(app Module)中,按照groupId:artifactId:version的形式指明依赖的模块。
结果如期望一致
三、Maven发布项目到私服
3.1 搭建私服
3.1.1 安装并运行服务器
Nexus服务器 官网不太好下载,提供一个百度云盘下载。
链接: https://pan.baidu.com/s/1NNuEsuWok2XTvWDI9Gc1HQ 提取码: 92bc
如果着急使用,可以联系本人哦
解压:
找到可执行文件 nexus
开始nexus服务:
./nexus start
3.1.2 配置私服仓库
a. 设置登录密码
使用指定的密码登录。会进行一系列初始化(此处忽略了)。
3.2 配置需要上传的模块
接下来我们进行上传到私服的配置工作。
a.首先获取私服仓库地址 ,可以通过下图的三个步骤获取
b.配置baselibrary模块的gradle文件
...
apply plugin: 'maven'
...
uploadArchives{
repositories.mavenDeployer{
// 设置私服仓库路径
repository(url: "http://127.0.0.1:8081/repository/maven-releases/") {
//使用nexus登录默认用户名和密码
authentication(userName: "admin", password: "admin123")
}
// 指明模块包名(通常为模块包名,也可以任意)
pom.groupId = "com.canjun"
// 指明模块名称
pom.artifactId = "baselibrary"
// 指明当前module的version
pom.version = "1.0.0"
}
}
接下来,就是使用私服中的模块依赖。
3.3 使用上传到私服的模块
app module还是 指明需要依赖的库
implementation 'com.canjun:baselibrary:1.0.0'
最最最重要的是,要设置nexus服务器的访问权限,以便app 模块可以下载依赖