gradle 配置 nexus repository

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'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 首先私服是一种衍生出来的特殊的Maven远程仓库,构建私服的好处请看3.5私服 可以帮助大家建立私服的仓库管理软件...
    zlcook阅读 10,633评论 0 32
  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 6,137评论 0 25
  • Android的多项目和其他基于Gradle构建的多项目是差不多,比如Java多项目、Groovy多项目,他们本身...
    acc8226阅读 1,231评论 0 5
  • 今天是周二,晚上回家看到群里老师发的信息,今天听写拼音,有很多同学听写全对,有的有问题,我家宝贝没全过,肯定又是这...
    王艺静妈妈阅读 208评论 0 1