java的源码构建工具,大致经历了 ant -> maven -> gradle 这个过程,每一次进步,都是在解决之前的工具所带来的问题,简单来说:

1. ant 功能虽然也很强大,但是过于灵活,规范性不足,对目录结构及build.xml没有默认约定 ,10个程序员做同样的项目,可能最终出来的10个项目,目录结构和build.xml都不相同,而且没有统一的依赖项管理。

2. maven的出现,解决了规范的问题,也顺带解决了依赖项统一管理的问题,但是规范性又太强了,基本上可以认为是一种强规范,用久了之后,感觉灵活性显略不足,而且pom.xml采用xml结构,项目大了,xml就有些冗长。

3. gradle则是综合了ant与maven的优点,吸收了ant中task的思想,然后把maven的目录规范及仓库思想也融合进来了,但是允许用户自由修改默认的规范(比如:源代码目录可以自己指定),另外配置文件采用groovy语言来书写(格式初看上去有点类似json,比较精减),注意:groovy是一门真正的【可编程】语言,而不是象css、html之类的标记性「符号」,所以从这个意义上讲,配置文件build.gradle本身就是一份源代码,这份源代码,最终交由gradle来处理执行,完成代码的构建工作。

gradle的发展速度之快,是ant 与 maven所不能比拟的,看下gradle官网的文档就能感受到了,一个新兴的工具文档如此之齐全,可见大家对它的认可程度。

安装:

安装十分简单,到官司下载最新版(是一个压缩包),解压某个目录,然后在环境变量里添加GRADLE_HOME, 再把该变量添加到path路径中,保证能找到gradle命令即可,参考下面的环境变量设置:

...
export GRADLE_HOME=/Users/yjmyzz/app/gradle-2.7
...
export PATH="...bin:${GRADLE_HOME}/bin"
...

在终端下,输入gradle -version,如果能显示gradle的版本号,就表示ok了

下面结合intellij idea + gradle 简单记录一下用法(假设大家都有ant, 特别是 maven的使用经验,如果对maven完全不熟悉的朋友,建议先移步阅读一下本博客的maven入门文章

一、idea导入gradle的几个设置要点

注意打红圈的地方,一定要勾上Offline work,否则会连到官司下载一堆东西,而墙内的速度,你们懂的,等到天昏地暗,海枯石烂也没有尽头
 
导入成功后,记得看下项目设置,参考上图,Use auto-import 这里记得要勾上,否则可能会遇到以下怪现象:
终端下gradle build 一切正常,但是在idea里,打开java源代码,看到各种红叉,提示这个类找不到,那个包没有引用。
 
提示:每个idea项目,项目根目录下都对应了一个.iml文件,它记录了该项目使用了哪些第3方的包,所以在IDE环境中,它才能感知到各种第3方的源代码,写代码时弹出各种智能下拉提示,有兴趣的话,建议大家看下这个文件的内容,肯定会有收获 。
 
二、gradle基本用法
基本上,gradle是通过各种plugin来完成相关功能的,这点是从maven学来的,所以基本上学习gradle,就是掌握一些常见plugin的用法及关键配置。
1、创建项目
随便建一个空目录,然后cd 进入
gradle init 就可以了
 
2、示例项目
我在github及coding.net上创建一个hello-gradle的项目,可以快速帮助大家快速掌握各种常规用法
 
 
直接按README.md里的说法,全部自己练一次,就差不多可以满足日常开发需要了。
 
 
参考文章:
 

Gradle 10分钟上手指南的更多相关文章

  1. 10 分钟上手 Vim,常用命令大盘点

    传闻有 180 万的程序员不知道如何退出 Vim 编辑器,真的有这么困难吗?下面给大家整理了一份 Vim 常用命令,让你 10 分钟快速上手 Vim,溜得飞起! 以下命令请在普通模式执行 1.移动光标 ...

  2. 10 分钟上手 Vue 组件 Vue-Draggable

    Vue 综合了 Angualr 和 React 的优点,因其易上手,轻量级,受到了广泛应用.成为了是时下火热的前端框架,吸引着越来越多的前端开发者! 本文将通过一个最简单的拖拽例子带领大家快速上手 V ...

  3. 10分钟上手python pandas

    目录 Environment 开始 对象创建 查看数据 选择 直接选择 按标签选择 按位置选择 布尔索引 设置 缺失数据 操作 统计 应用(apply) 直方图化(Histogramming) 字符串 ...

  4. 干货|给小白的 Nginx 10分钟入门指南

    一个执着于技术的公众号 前言 今天主要对Nginx Web服务软件进行介绍,作为HTTP服务软件的后起之秀,Nginx与它的老大哥Apache相比有很多改进之处,比如,在性能上,Nginx占用的系统资 ...

  5. ECharts数据图表系统? 5分钟上手!

    目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. ...

  6. Rancher 快速上手指南操作(1)

    Rancher 快速上手指南操作(1)该指南知道用户如何快速的部署Rancher Server 管理容器.前提是假设你的机器已经安装好docker了.1 确认 docker 的版本,下面是 ubunt ...

  7. JavaScript 10分钟入门

    JavaScript 10分钟入门 随着公司内部技术分享(JS进阶)投票的失利,先译一篇不错的JS入门博文,方便不太了解JS的童鞋快速学习和掌握这门神奇的语言. 以下为译文,原文地址:http://w ...

  8. UnityShader快速上手指南(三)

    简介 这一篇还是一些基本的shader操作:裁剪.透明和法向量的应用 (纠结了很久写不写这些,因为代码很简单,主要是些概念上的东西) 先来看下大概的效果图:(从左到右依次是裁剪,透明,加了法向量的透明 ...

  9. Gradle一分钟实现Spring-MVC

    前提: 1,已安装JDK 2, 有Intellij IDEA 3, 已安装Gradle 一分钟实现步骤: 1,mkdir Spring-MVC;cd Spring-MVC2,gradle init3, ...

随机推荐

  1. ajax分页与组合查询配合使用

    使用纯HTML页与js.ajax.Linq实现分页与组合查询的配合使用 <body> <div id="top"><input type=" ...

  2. O365(世纪互联)SharePoint 之文档库使用小记

    前言 当O365越来越流行的时候,大家往往更多使用的是传统的Office功能,有太少订阅用户能触及到O365的一个非常棒的功能,叫做SharePoint online. 下面,我们就以图文并茂的方式, ...

  3. iOS之UIScrollView循环滚动

    #import "ViewController.h" #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #d ...

  4. Android Home键监听

    Android Back Home键监听 Back键的监听 对于Back键的监听比较容易,可以在多个系统回调处拦截,比如在activity的下列方法中都可以收到Back键按下的事件: @Overrid ...

  5. HotApp小程序统计云后台 免费的Https云后台服务器,方便学习小程序

    小程序学习有些地方需要后台,比如需要存储数据到服务器,比如微信登录. hotapp有免费的小程序云后台 包含基本的 新增,查询,修改,删除 操作,方便于学习,而且不需要微信appid 也可使用. 小程 ...

  6. android 动画效果

    动画资源 一.分类: (一).概要:         3.0以前,android支持两种动画模式,补间动画(tween animation),帧动画(frame animation),在android ...

  7. iOS开发之功能模块--Apns推送中的的json格式介绍

    在开发向苹果Apns推送消息服务功能,我们需要根据Apns接受的数据格式进行推送.下面接受我在进行apns推送时候总结的一点apns服务接受的Json数据格式 示例 1: 以下负载包含哦一个简单的 a ...

  8. C# .net dotnet属性定义属性,以提供显示明称,默认值

    //使用显示名称初始化 System.ComponentModel.DisplayNameAttribute 类的新实例. displayName 显示名称 [DisplayName("we ...

  9. regsvr32命令

    regsvr32是Windows操作系统命令,用来注册及反注册DLL文件和ActiveX文件. 1.  使用示例 regsvr32  foo.dll    // 注册foo.dll文件到Windows ...

  10. SQL Server 2012 The report server cannot open a connection to the report server database

    案例环境: 操作系统版本:    Windows Server 2012 R2 Standard 数据库版本  :    SQL SERVER 2012 SP2 案例介绍: 今天进入一台新安装的SQL ...