`
dengkane
  • 浏览: 42426 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Gradle入门教程

阅读更多

一、寻找gradle的历程

一开始的时候,我们只有一个工程,所有要用到的jar包都放到工程目录下面,时间长了,工程越来越大,使用到的jar包也越来越多,难以理解jar之间的依赖关系。再后来我们把旧的工程拆分到不同的工程里,靠ide来管理工程之间的依赖关系,各工程下的jar包依赖是杂乱的。一段时间后,我们发现用ide来管理项程很不方便,比如不方便脱离ide自动构建,于是我们写自己的ant脚本。再后来,维护ant脚本变得痛苦,管理jar包更加痛苦。svn能管理源码的版本,却不能管理构建出的部署部件的版本。于是我们决定用maven,然而pom.xml的配置实在太繁了!最后,我找到了神器,gradle!

 

二、为什么是gradle?

1. groovy 比 xml好用

Gradle用groovy来做为build脚本,比xml要易读易用得多。用过ant的人都知道,要在ant里面表达一个if分支功能有多么的麻烦,不直观。由于gradle的build脚本就是groovy程序,所以做分支循环等非常方便自然。

2. Convention over Configuration 比写大量ant基础脚本方便

用ant的时候,要得定义哪里放源码,哪里放jar包,哪里放编译出的class文件等等,每个项目都要这样做,非常麻烦。gradle和maven一样,都定义了一个默认的目录结构,只要按要这个默认的规则来做,就不需要多写一行代码。而且gradle的目录的结构规范和maven是一样的。

3. 支付定义task,比maven灵活

maven可以帮助管理依赖关系,但是要在maven里实现一个简单的自定义功能,就很麻烦,要得写maven插件,而在gradle里,task是一等公民,可以轻易的添加自己的功能。

4. 灵活的依赖管理

ant没有依赖管理的功能,都要自己手动做,maven的依赖管理很死板,只能依赖于标准的maven artifact,不能依赖本地的某个jar文件或者其它的源码。而gradle则可以混合地同时支持这些依赖方法,这样可以让旧项目的迁移容易得多。

5. 默认就具有丰富的功能

只要安装好gradle,默认就支持java项目,war项目,ear项目,做单元测试,生成jar包,上传jar包到maven服务器,等等功能。一般的项目都已经够用了。

 

三、简单举例

安装完gradle之后,在一个目录里时建一个叫build.gradle的文件,一个工程就配好了。要支持生成jar包的jar工程,只要在build.gradle里面添加一行:

1
apply plugin: 'java'

现在在这个目录的命令行里运行gradle jar就可以自动完成把/src/main/java下的java文件编译,自动单元测试/src/test/java下的类,自动生成jar的功能了,太方便了。

让它依赖于spring,也很简单:

1
2
3
4
apply plugin: 'java'
dependencies {
    compile 'org.springframework:spring-context:3.0.4.RELEASE'
}

gradle便会自动地到maven服务器下载spring-context-3.0.4.RELEASE.jar,以及它所依赖的jar包。

还可以直接依赖本地jar包,如:

1
2
3
4
apply plugin: 'java'
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

这样就可以直接依赖/libs/目录下所有的jar文件了。

再比如自定义一个task:

1
2
3
4
5
6
apply plugin: 'java'
task myTask << {
    if (System.properties['love']) {
        println "I love you! Gradle!"
    }
}

在命令行执行gradle myTask就会运行这个myTask任务了。

更多功能,要得看http://www.gradle.org 上的官方手册。

分享到:
评论

相关推荐

    gradle基础使用教程

    在开始使用Android Studio进行项目开发时,理解Gradle的基础使用是非常有帮助的。对于App开发者而言,掌握Gradle能够更高效地进行应用开发,利用Android Studio提供的Gradle窗口工具管理项目依赖等。 在Android ...

    gradle入门书

    《Gradle入门书》是一份宝贵的资源,专为想要深入理解Gradle的初学者和开发者设计。这份压缩包包含了两本书籍:《Gradle in Action》和《Gradle Beyond the Basics》,它们是全面掌握Gradle构建工具的重要参考资料。...

    gradle-tutorial:Gradle 30分钟入门教程

    Gradle入门教程,推广Gradle希望有更多人认识并使用它。本教程语言通俗,内容浅显易懂,仅为学习Gradle抛个砖。内容参见了官网的文档和一些博主的分享文章,地址与作者就不一一列举了,在此感谢这些作者的无私的奉献...

    gradle英文教程

    ### Gradle 英文教程知识点总结 #### 一、引言 - **关于用户指南**:此用户指南旨在为用户提供全面的 Gradle 使用教程,帮助初学者和有经验的开发者更好地掌握 Gradle 的核心功能与高级特性。 #### 二、概述 - **...

    Android Gradle 入门指南

    Android Gradle 入门指南中首先介绍了Groovy基础。Groovy是一种运行在JVM上的语言,与Java类似,所有的Groovy代码最终都会编译成.class文件并在JVM上运行。Groovy语言设计得更灵活,语法简单,更接近脚本语言,这...

    实战Gradle

    实战Gradle高清中文版pdf

    gradle2.1demo教程

    本教程将专注于 Gradle 2.1 版本,该版本引入了许多改进和优化,以提升构建效率。 **一、Gradle 2.1 的新特性** 1. **更快的构建速度**:Gradle 2.1 引入了性能优化,尤其是在增量构建方面,这使得只对变化的部分...

    Gradle依赖包的spring依赖

    压缩包中的`getting-started.html`可能是一个关于Spring或Gradle入门教程的文档,它可能会指导初学者如何设置环境,创建第一个项目,并引入必要的依赖。`wrapper`目录通常包含Gradle Wrapper,用于无痛地安装和使用...

    WIN7安装gradle环境

    本教程将详细指导如何在Windows 7操作系统上安装Gradle构建工具,并列举一些常见的问题及解决方法。 #### 一、准备工作 **1. 下载Gradle安装包** 访问Gradle官方网站 (https://gradle.org) 下载最新版本的Gradle...

    Android 之Gradle教程代码

    本教程代码着重于介绍Gradle在Android项目中的应用,帮助开发者理解其基本概念、配置以及常用操作。 一、Gradle概述 Gradle是一个基于Apache Ant和Maven概念的开源构建自动化系统。它采用领域特定语言(DSL)——...

    gradle-4.6版本

    4. **getting-started.html**:这可能是Gradle的入门指南,指导新用户如何开始使用该版本。 5. **init.d**:初始化脚本目录,用户可以在此放置自定义的Gradle初始化脚本,以在每次构建前执行特定任务。 6. **media**...

    Gradle Tutorial

    标题为“Gradle Tutorial”的文档是一份关于Gradle构建工具的英文教程,介绍了Gradle的版本信息、实现方式、核心概念以及如何快速上手。文档指出,Gradle是类似于Maven和Ant的构建工具,它目前正开始被更广泛地采用...

    gradle深入学习的视频

    下面将详细阐述Gradle的基础概念、核心功能以及如何通过视频教程深入学习。 ### Gradle基础概念 Gradle是一款开源的自动化构建工具,基于Groovy语言编写而成,支持多种编程语言和平台。它为开发者提供了一种灵活的...

    xmljava系统源码-GradleDemo:Gradle插件开发极简教程

    #Gradle入门教程 #一、简介 Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言。Gradle 通过提供可以随意集成的声明式语言元素将声明性构建推到了一个新的高度。...

    Android Studio使用教程(四):Gradle基础

    其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧。 什么是Gradle? Gradle是一...

    gradle-4.4-all

    《Gradle 4.4 全面解析:深入理解与实战指南》 Gradle 是一个强大的构建自动化工具,尤其...而提供的"gradle使用教程.txt"和"gradle-4.4-all.zip"资源将有助于深入学习和实践Gradle 4.4,为你的开发之旅增添强大助力。

    Gradle Recipes for Android

    - **培训与教程**: 除了本书之外,还有许多在线课程和培训资源可以帮助开发者深入理解Gradle的工作原理和最佳实践。 总之,《Gradle Recipes for Android》不仅适合初学者了解Gradle的基础知识,也适合有一定经验的...

Global site tag (gtag.js) - Google Analytics