登录
nexus
服务起来以后,我们在浏览器中输入对应的地址,就会看到 nexus
欢迎页,如图:
点击 Sign in
登录nexus
, nexus
默认登录的用户名是 admin
,默认密码是 admin123
。
用 admin
登录的用户拥有最高权限, 在实际的开发中,我们不可能让所有用户都拥有最高权限,这是非常危险的,所以我们需要添加子用户,然后给子用户分配合理的权限,就能保证整个 nexus
的安全性。
添加用户
如图所示,依次按顺序选择,最后点击 Create local user
.
创建新用户需要填写一些信息,都特别简单,这里不多说。创建完成后,退出 admin
用户,用新用户的账号登录。
添加仓库
如下图依次点击,创建新的仓库。
选择 Maven2(hosted)
这里简单介绍下几种 repository
的类型:
hosted
,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。proxy
,代理仓库,它们被用来代理远程的公共仓库,如maven
中央仓库。group
,仓库组,用来合并多个hosted/proxy
仓库,当你的项目希望在多个repository
使用资源时就不需要多次引用了,只需要引用一个group
即可。
依次填写相关信息
Repository Policy
属性,指定仓库的发布类型有Snapshot
、Release
、Mixed
三种,这里我们选择Release
Deployment Policy
属性,默认是Disable Redeploy
,也就是不允许部署,如果需要部署则需要改为Allow Redeploy
,不然项目发布时会报错
仓库创建完成,就可以看到仓库的基本信息了
仓库的 Url 是http://47.94.230.26:8084/repository/alibaba/
, 这个url 非常重要,后面我们上次代码,下拉仓库代码都需要。
AndroidStudio 项目发布
新建 Android Library
项目,我起名叫 Lib
.
1、在其 build.gradle
文件头部添加 maven
插件
apply plugin: 'maven'
效果如图:
2、在其 build.gradle
文件尾部定义上传的行为
//定义上传的行为
uploadArchives{
repositories.mavenDeployer {
repository(url: "http://47.94.230.26:8084/repository/alibaba/") {
authentication(userName: "zhaoyanjun", password: "123456")
}
pom.project {
version '1.0.0' //版本号
artifactId 'AndroidAnimation' //库名字,比如:Android动画
groupId "com.alibaba.lib" //组名,比如:阿里巴巴公司的android组
description '这是一个描述信息,可有可无'
}
}
}
效果如下:
3、开始发布
双击运行 uploadArchives
任务,发布项目
4、查看项目
发布完成后,可以回到 nexus
后台,查看发布结果
点击 alibaba
仓库
可见项目已经成功发布到 nexus
仓库中。
AndroidStudio 项目引用
那么项目发了完后,我们怎么引用呢?首先在项目的根目录的 build.gradle
,添加 maven 的下载地址:
maven{
url "http://47.94.230.26:8084/repository/alibaba/" //仓库地址
}
效果如下
然后在 app module 下的 build.gradle
文件添加项目依赖
compile 'com.alibaba.lib:AndroidAnimation:1.0.0'
到这里我们已经成功的将仓库引入到我们的Android项目中。