codecamp

Gradle 什么是依赖管理

什么是依赖管理?

粗略的讲, 依赖管理由两部分组成. 首先, Gradle需要了解你的项目需要构建或运行的东西,一遍找到他们. 我们称这些传入的文件为项目的dependencies(依赖项). 其次, Gradle 需要构建并上传你的项目产生的东西. 我们称这写传出的项目文件为publications(发布项).让我们来看看这两条的详细信息:

大多数项目都不是完全独立的. 它们需要其他项目进行编译或测试等等. 举个例子,为了在项目中使用Hibernate,我要在我编译的时候在我的classpath中包括一些Hibernate的jar. 要运行测试的时候,我需要在test classpath中包含一些额外的jar,比如特定的JDBC驱动或者Ehcache jars.

这些传入的文件构成上述的项目的依赖. Gradle允许你告诉它你项目的依赖关系,以便找到这些依赖关系,并在你的构建中维护这些依赖关系.依赖关系可能需要从远程的Maven或者Ivy仓库中下载,也可能是在本地文件系统中,或者是通过多项目构建另一个构建. 我们称这个过程为dependency resolution(依赖解析).

注意这一特性提供了超过Ant的一个重要特性.使用Ant,你只有指定jar的绝对路径或相对路径才能读取jar.使用Gradle,你只需要申明依赖的名称,其他层面决定这在哪里获取这些依赖关系.你可以为Ant添加Apache的Ivy或得类似能力,但是Gradle做的更好.

通常,一个项目的本身会具有依赖性.举个例子,运行Hibernate的核心需要其他几个类库在classpath中.因此,Gradle在为你的项目运行测试的时候,它会找到这些依赖关系,并使其可用.我们称之为transitive dependencies(依赖传递).

大部分项目的主要目的是要建立一些文件,在项目之外使用.比如,你的项目产生一个Java库,你需要构建一个jar,可能是一个jar和一些文档,并将它们发布在某处.

这写传出文件构成了项目的发布物. Gradle当然会为你照顾这个重要的工作. 你声明项目的出版物,Gradle会构建并发布在某处. 究竟什么是"出版"取决于你想做什么.可能你希望将文件复制到本地目录,或者将他们上传到一个远程Maven或者Ivy库.或者你可以使用这些文件在多项目构建中另外的项目中.我们称这个过程为publication(发布)

Gradle 创建一个发行版本
Gradle 声明你的依赖
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Gradle 使用 Ant 插件

Gradle 使用 Ant 任务和 Ant 类型的构建

Gradle 导入一个 Ant 构建

Gradle Ant 的属性与引用

Gradle API

Gradle Gradle Plugins

Gradle 使用构建脚本块应用插件

Gradle 查找社区插件

Gradle 更多关于插件

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }