1.安装nexus
链接:http://www.sonatype.org/nexus/go
安装过程:
1.mac :
1).解压文件进入bin/
2). ./nexus start 可以直接运行,注意有个点
2.windows
1).进入nexus目录,在bin/jsw 下找到nexus.exe
2).nexus.exe / install安装成系统服务
3).nexus.exe / start直接运行
4).nexus.exe / stop停止
5).nexus.exe / uninstall卸载
3.ubuntu
http://www.jianshu.com/p/9740778b154f
2.创建repository
1).浏览器中http://127.0.0.1:8081/ 默认网址可以进入管理界面
2).内置账户 admin admin123
3)点击左上螺丝,进入 设置界面,默认内置了一些库
4).点击 create repository
普及一下这几种类型的区别:
hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库,一些需要翻墙的lib可以使用这种,具体请找其他文章研究
group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
5).配置仓库
名称可以修改,其他的配置没有具体了解
6)点击create repository之后就创建成功了,会自动跳转到repository列表界面,点击条目的copy按钮,就可以获取仓库路径了
3.在gradle中配置repository地址与账号
不详细说明 maven_push.gradle
apply plugin:'maven'
apply plugin:'signing'
configurations {
deployerJars
}
repositories {
mavenCentral()
}
// 判断版本是Release or Snapshots
def isRelease() {
return!VERSION.contains("SNAPSHOT");
}
// 获取仓库url
def getRepositoryUrl() {
returnisRelease() ? RELEASE_URL : SNAPSHOT_URL;
}
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment {
MavenDeployment deployment -> signing.signPom(deployment)
}
pom.version = VERSION
pom.artifactId = ARTIFACT_ID
pom.groupId = GROUP_ID
repository(url: getRepositoryUrl()) {
authentication(userName: NAME,password: PASSWORD)// maven授权信息
}
}
}
}
// 进行数字签名
signing {
// 当 发布版本 & 存在"uploadArchives"任务时,才执行
required { isRelease() && gradle.taskGraph.hasTask("uploadArchives") }
sign configurations.archives
}
在build.gradle 中引用maven_push.gradle
applyfrom:'maven_push.gradle'
gradle.properties中配置账号与仓库链接
#VERSION=1.0-SNAPSHOT 快照库
#VERSION=1.0 release库
#GROUP_ID=com.baidu.homework 文件夹名称
#ARTIFACT_ID=test 文件名称
VERSION=1.1-SNAPSHOT
GROUP_ID=com.baidu.homework
ARTIFACT_ID=lesson
RELEASE_URL=http://localhost:8081/repository/homework_release/
SNAPSHOT_URL=http://localhost:8081/repository/homework/
NAME=admin
PASSWORD=admin123
最后在task中,点击uploadArchives上传
上传之后的使用方法
项目的gradle中配置内部maven库路径
allprojects {
repositories {
jcenter()
maven { url"http://localhost:8081/repository/homework/"}
// maven { url "http://localhost:8081/repository/homework_release/" }
}
}
compile'com.baidu.homework:lesson:1.1-SNAPSHOT@aar'