开始准备
- 首先进入https://www.sonatype.com/download-oss-sonatype
下载列表
- 下载相对应的下载包
-
解压后执行bin目录下的nexus.bat(windows)/nexus(linux)
执行相应的安装包
- 首先安装Nexus,以系统管理员身份运行命令提示符 / Linux直接./nexus start
nexus install
nexus start
nexus stop

配置Nexus
-
进入本地地址http://localhost:8081
-
点击右上角的Login In 进行登录
username:admin password:admin123
添加仓库
-
添加仓库repository(仓库repository分为两种版本的仓库,一种是snapshot,一种是release. snapshot表示该仓库中的包将会经常更新,而且不完善。maven的依赖管理是基于版本管理,发布后如果版本号相同,当我们在依赖的时候,尽管本地版本久,maven也不会主动下载的,但是snapshot可以让依赖者也会同时下载最新的snapshot版本.而release版本仓库中的依赖包要更新了,依赖者必须依赖指定该包新的版本号,才会下载最新的依赖库)
-
点击上方的Add-->选择添加一个Hosted Repository
- 填写仓库ID
- 填写仓库名
- 选择仓库类型release/snapshot
- 选择是否允许部署
创建仓库
为仓库配置相应的权限和账号
-
为仓库配置相应的权限和账号
-
进入左方的Security-->Privileges-->add-->指定该权限策略所适用的仓库
- 第一个为该权限策略的名称
- 第二个为相应的描述
- 第三个选择该策略作用的仓库
- 第四个选择Target(选择Maven2)
-

-
Security-->Roles-->Add添加一个角色(表示该角色拥有的权限)
- 首先输入角色ID
- 角色名
- 该角色的描述
- 点击Add添加
- 在上方Filter中筛选出刚才我们指定的权限策略的名
- 勾选则代表具备相应的权限

-
Security-->User-->Add (添加一个具体的用户)
- 填写用户ID
- 填写用户名
- 填写电子邮件
- 设置账号状态为激活Active
- 设置密码
- 为用户选择一个Role
- 在上方的Filter筛选出刚才建立的Role名
- 点击OK,即可创建相应的权限用户

在Gradle中生成aar包并上传到自己的仓库中去
-
首先保证项目为Library(库)
-
在主项目中build.gradle同级文件夹中建立一个文件,例如为push.gradle
-
添加代码
apply plugin: 'maven' afterEvaluate { project -> uploadArchives { repositories.mavenDeployer { //添加仓库的url地址,指定用户名和密码 repository (url: "仓库URL地址") { authentication(userName: "用户名", password: "密码") } //如果要发布到snapshot仓库中,必须在后面加-SNAPSHOT,否则发布失败 pom.version = "1.2-SNAPSHOT" //artifactId,可以写项目名 pom.artifactId = "hello" //groupId可以为包名,可以为其他的 pom.groupId = "com.sltpaya.xxx" //包的类型 pom.packaging = 'aar' } } }
-
在moudle中的build.gradle中顶部添加
apply from: '../push.gradle' -
android studio右边的gradle task中找到uploadArchives task,并且执行

- 上传成功后就可以在仓库地址中找到相应的项目了

依赖maven仓库的aar包
- 新建项目,在项目目录下的build.gradle中allProjects中配置maven库的地址为你的仓库地址
allprojects {
repositories {
jcenter()
maven {url "你的仓库地址"}
}
}
- 在moule中添加依赖
compile 'groupId:artifactId:版本号
例如:compile 'com.sltpaya.xxx:hello:1.1.0'
SNAPSHOT版本的要在版本号后加-SNAPSHOT,例如1.1.0-SNAPSHOT
compile 'com.sltpaya.xxx:hello:1.1.0-SNAPSHOT'
网友评论