Gradle支持以下仓库格式:

  • Ivy仓库
  • Maven仓库
  • Flat directory仓库

一、添加仓库

1、添加Ivy仓库

1.1、通过URL地址添加一个Ivy仓库

我们可以将以下代码片段加入到build.gradle文件中:

repositories {
    ivy {
        url "http://ivy.petrikainulainen.net/repo"
    }
}

1.2、通过本地文件系统地址添加一个Ivy仓库

我们可以将以下代码片段加入到build.gradle文件中: 
repositories {
    ivy {      
        url "../ivy-repo"
    }
} 

2、添加maven仓库

2.1、通过URL地址添加一个Maven仓库

我们可以将以下代码片段加入到build.gradle文件中:

repositories {
    maven {
        url "http://maven.petrikainulainen.net/repo"
    }
}

2.2、通过本地文件系统地址添加一个Maven仓库

我们可以将以下代码片段加入到build.gradle文件中:

repositories {
    maven {      
        url "../maven-repo"
    }
}

在加入Maven仓库时,Gradle提供了三种“别名”供我们使用,它们分别是:

  • mavenCentral()别名,表示依赖是从Central Maven 2 仓库中获取的。
  • jcenter()别名,表示依赖是从Bintary’s JCenter Maven 仓库中获取的。
  • mavenLocal()别名,表示依赖是从本地的Maven仓库中获取的。

如果我们想要将Central Maven 2 仓库加入到构建中,我们必须在build.gradle文件中加入以下代码片段:

repositories {
    mavenCentral()
}

3、添加Flat Directory仓库

如果想要使用Flat Directory仓库,我们需要将以下代码片段加入到build.gradle文件中:

repositories {
    flatDir {
        dirs 'lib'
    }
}

这意味着系统将在lib目录下搜索依赖,

同样的,如果你愿意的话可以加入多个目录,代码片段如下:

repositories {
    flatDir {
        dirs 'libA', 'libB'
    }
}

、引入依赖

Java插件指定了若干依赖配置项,其描述如下:

  • 当项目的源代码被编译时,compile配置项中的依赖是必须的。
  • runtime配置项中包含的依赖在运行时是必须的。
  • testCompile配置项中包含的依赖在编译项目的测试代码时是必须的。
  • testRuntime配置项中包含的依赖在运行测试代码时是必须的。
  • archives配置项中包含项目生成的文件(如Jar文件)。
  • default配置项中包含运行时必须的依赖。

最普遍的依赖称为外部依赖,这些依赖存放在外部仓库中。一个外部依赖可以由以下属性指定:

  • group属性指定依赖的分组(在Maven中,就是groupId)。
  • name属性指定依赖的名称(在Maven中,就是artifactId)。
  • version属性指定外部依赖的版本(在Maven中,就是version)。

这些属性在Maven仓库中是必须的,如果你使用其他仓库,一些属性可能是可选的。

打个比方,如果使用Flat directory仓库,只需要指定名称和版本。

我们假设我们需要指定以下依赖:

  • 依赖的分组是foo
  • 依赖的名称是foo
  • 依赖的版本是0.1
  • 在项目编译时需要这些依赖。

我们可以将以下代码片段加入到build.gradle中,进行依赖声明:

dependencies {
    compile group: 'foo', name: 'foo', version: '0.1'
}

我们也可以采用一种快捷方式声明依赖:[group]:[name]:[version]。如果我们想用这种方式,我们可以将以下代码段加入到build.gradle中:

dependencies {
    compile 'foo:foo:0.1'
}

我们也可以在同一个配置项中加入多个依赖,传统的方式如下:

dependencies {
    compile (
        [group: 'foo', name: 'foo', version: '0.1'],
        [group: 'bar', name: 'bar', version: '0.1']
    )
}

如果采用快捷方式,那可以是这样:

dependencies {
    compile 'foo:foo:0.1', 'bar:bar:0.1'
}

自然地,声明属于不同配置项的依赖也是可以的。比如说,如果我们想要声明属于compiletestCompile配置项的依赖,可以这么做:

dependencies {
  compile group: 'foo', name: 'foo', version: '0.1'
  testCompile group: 'test', name: 'test', version: '0.1'
}

快捷方式

dependencies {
    compile 'foo:foo:0.1'
    testCompile 'test:test:0.1'
} 

三、附录 - 引入阿里云的maven仓库

感谢阿里云!

找到gradle的配置文件路径,例如Windows中的路径为C:\Users\${你的用户名}\.gradle

新建一个文件名为init.gradle,用记事本或者类似的编辑器打开,输入以下内容:

allprojects{
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
remove repo
}
}
}
maven {
url REPOSITORY_URL
}
}
}

再执行gradle build的时候,你能看到下载地址切换到阿里云了,终于不用漫长的等待了。

gradle入门(1-2)gradle的依赖管理的更多相关文章

  1. Gradle入门(4):依赖管理

    在现实生活中,要创造一个没有任何外部依赖的应用程序并非不可能,但也是极具挑战的.这也是为什么依赖管理对于每个软件项目都是至关重要的一部分. 这篇教程主要讲述如何使用Gradle管理我们项目的依赖,我们 ...

  2. Gradle for Android 第三篇( 依赖管理 )

    依赖管理 这会是一个系列,所以如果你还没有看我之前的几篇文章,请先查看以下文章: Gradle for Android 第一篇( 从 Gradle 和 AS 开始 ) Gradle for Andro ...

  3. 【转载】Gradle for Android 第三篇( 依赖管理 )

    依赖管理是Gradle最闪耀的地方,最好的情景是,你仅仅只需添加一行代码在你的build文件,Gradle会自动从远程仓库为你下载相关的jar包,并且保证你能够正确使用它们.Gradle甚至可以为你做 ...

  4. Gradle 1.12用户指南翻译——第五十章. 依赖管理

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...

  5. Spring mvc 4系列教程(二)——依赖管理(Dependency Management)和命名规范(Naming Conventions)

    依赖管理(Dependency Management)和命名规范(Naming Conventions) 依赖管理和依赖注入(dependency injection)是有区别的.为了将Spring的 ...

  6. Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)

        开发任何软件,如何管理依赖是一道绕不过去的坎,软件开发过程中,我们往往会使用这样那样的第三方库,这个时候,一个好的依赖管理就显得尤为重要了.作为一个自动构建工作,Gradle对依赖管理有着很好 ...

  7. 【系列教程1】Gradle入门系列三:依赖管理

    在现实生活中,要创造一个没有任何外部依赖的应用程序并非不可能,但也是极具挑战的.这也是为什么依赖管理对于每个软件项目都是至关重要的一部分. 这篇教程主要讲述如何使用Gradle管理我们项目的依赖,我们 ...

  8. 在Eclipse中使用建立使用Gradle做依赖管理的Spring Boot工程

    前述: Gradle存在很长时间了,以前只知道Maven和ivy ,最近才知道有这个存在,因为以后要用这个了; 所以,要先学会怎么用这个工具,就从建立一个简单工程开始! 实际上以前是见过Gradle的 ...

  9. Gradle Maven 依赖管理

    仓库管理简介 本质上说,仓库是一种存放依赖的容器,每一个项目都具备一个或多个仓库. Gradle支持以下仓库格式: Ivy仓库 Maven仓库 Flat directory仓库 我们来看一下,对于每一 ...

  10. Liferay7 BPM门户开发之43: Gradle依赖管理

    进入liferay v7.0,官方推荐使用Gradle进行依赖管理和发布,所以必须知道Gradle的用法,网上资料很多,不赘述 只写依赖管理的分类 一般用外部仓库依赖,也可以用本地文件依赖(依赖本地j ...

随机推荐

  1. 不能为虚拟电脑 ubuntu 打开一个新任务.

    使用virtualbox报错: 不能为虚拟电脑 ubuntu3 打开一个新任务. The virtual machine 'ubuntu3' has terminated unexpectedly d ...

  2. Windows cmd命令反斜杠问题

    在Windows的终端输入命令的时候,如果在命令中存在斜杠就无法执行,因为它只支持反斜杠,而在Unix系统中是支持斜杠的,这是两者的区别.所以在Windows终端下执行命令需要注意斜杠问题

  3. 如何在eclipse中添加ADT

    工具: Eclipse:官网下载地址:http://www.eclipse.org/downloads/下载SE或者EE版本的都可以 ADT:因为涉及到FQ问题,所以这里我给出一个参考网址:http: ...

  4. Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】

    前言 本文主要讲解的知识点有以下: 权限管理的基础知识 模型 粗粒度和细粒度的概念 回顾URL拦截的实现 Shiro的介绍与简单入门 一.Shiro基础知识 在学习Shiro这个框架之前,首先我们要先 ...

  5. Servlet的监听器

    Listener是Servlet的监听器,它可以监听客户端的请求.服务端的操作等.通过监听器,可以自动激发一些操作,比如监听在线的用户的数量.当增加一个HttpSession时,就激发sessionC ...

  6. 一个类似抖音 APP 拍摄按钮效果的控件

    TouchButton 一个类似抖音 APP 拍摄按钮效果的控件 效果图预览 用法 <net.angrycode.library.TouchButton android:id="@+i ...

  7. Dell服务器系统安装后无法正常进入系统

    问题描述: 正常安装完系统后,重启,出现无法进入系统 问题解决: 此问题出现意味着系统引导项出现错误,进入raid配置里设置相应的所装系统盘为boot引导项:

  8. linux 下后台运行python脚本

    这两天要在服务器端一直运行一个Python脚本,当然就想到了在命令后面加&符号 $ python /data/python/server.py >python.log &说明:  ...

  9. ASP.NET MVC编程——验证、授权与安全

    1 验证  一般采用表单验证完成登陆验证,建议结合SSL使用.为限制控制器只能执行HTTPS,使用RequireHttpsAttribute 2 授权 对账户的权限的控制可以通过在控制器或控制器操作上 ...

  10. Sagit.Framework For IOS 开发框架入门教程5:消息弹窗STMsgBox

    前言: 昨天刚写了一篇IT连创业的文章:IT连创业系列:产品设计之答题模块,(欢迎大伙关注!) 感觉好久没写IOS的文章了,今天趁机,来补一篇,Sagit的教程. Sagit 开源地址:https:/ ...