gradle构建依赖

gradle构建依赖

gradle的核心概念,特性

依赖管理,使用gradle对app进行测试,

操作Task

使用插件扩展构建

Project 接口中的file方法,可以创建一个File类实例。

依赖管理

    apply plugin: 'java'

    repositories {
        mavenCentral()
    }

    dependencies {
        compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
        testCompile group: 'junit', name: 'junit', version: '4.+'
    }

在Gradle中依赖可以组合成configurations(配置),一个配置简单地说就是一系列的依赖,通俗说也就是依赖配置;我们可以使用它们声明项目的外部依赖,也可以被用来声明项目的发布。下面我们给出几种Java插件中常见的配置,如下:

compile 
用来编译项目源代码的依赖;

runtime 
在运行时被生成的类需要的依赖,默认项,包含编译时的依赖;

testCompile

编译测试代码依赖,默认项,包含生成的类运行所需的依赖和编译源代码的依赖;

testRuntime

运行测试所需要的依赖,默认项,包含上面三个依赖;

各种各样的插件支持许多标准的配置,我们还可以定义自己的配置。

Gradle外部依赖:

我们可以用Gradle声明许多种依赖,其中有一种是外部依赖(external dependency),它是在当前构建之外的一种依赖,一般存放在远程(譬如Maven)或本地的仓库里。如下是一个外部依赖的例子:

dependencies {
    compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}

可以看见,引用一个外部依赖需要用到group、name、version属性。上面的写法还有一种简写,如下规则:

group:name:version

这是一个简写的例子:

dependencies {
    compile 'org.hibernate:hibernate-core:3.6.7.Final'
}

Gradle仓库:

有了上面的外部依赖,Gradle是如何找到那些外部依赖文件的。其实Gradle会在一个仓库(repository)里找这些依赖文件,仓库其实就是很多依赖文件的集合服务器, 通过group、name、version进行归类存储,好在Gradle可以解析好几种不同的仓库形式(譬如Maven等),但是Gradle默认不提前定义任何仓库,我们必须手动在使用外部依赖之前定义自己的仓库。

这是一个使用MavenCentral仓库的例子:

repositories {
    mavenCentral()
}

远程Maven仓库的例子
repositories {
    maven {
    url "http://repo.mycompany.com/maven2"
    }
}

repositories {
    ivy {
    // URL can refer to a local directory
    url "../local-repo"
    }
}

当然了,一个项目可以有好几个库,Gradle会根据依赖定义的顺序在各个库里寻找它们,在第一个库里找到了就不会再在第二个库里找它了,否则在第二个库找。

File dependencies

通过files()方法可以添加文件依赖,如果有很多jar文件,我们也可以通过fileTree()方法添加一个文件夹,除此之外,我们还可以通过通配符的方式添加,如下:

dependencies{
    compile fileTree(dir:'lib',include:['*.jar']);
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值