参考:             http://www.gradle.org/docs/current/userguide/installation.html

(1)下载Gradle

官网下载www.gradle.org/get-started

(2)将GRADLE_HOME/bin/加入$PATH。

将解压,得到gradle-1.8,然后拷贝到/usr:

输入sudo  cp -r gradle-1.8 /usr

添加环境变量方法:输入sudo gedit /etc.profle

在/etc/profile中添加 export GRADLE_HOME=/usr/gradle-1.8

export PATH=$GRADLE_HOME/bin:$PATH

使得profile生效:
输入 source /etc/profile

OK  配置完成。使用gradle version查看版本信息,若有则成功。

1. 基本概念(Project 和 Task)

Gradle中有两个基本的概念:project和task。每个Gradle的构建由一个project构成,它代表着需要被构建的组件或者构建的整个项目。每个project由一个或者多个task组成。task代表着Gradle构建过程中可执行的最小单元。例如当构建一个组件时,可能需要先编译、打包、然后再生成文档或者发布等,这其中的每个步骤都可以定义成一个task。

2. 构建第一个Task

和Ant运行时读取build.xml类似,Gradle运行时默认会读取build.gradle这个文件, 当然你也可以使用参数"-b"来指定其他的xxx.gradle

下面,让我们新建一个build.gradle文件,然后输入如下内容:

  task hello {

      doLast{

           println "hello world"

      }

 }

这个构建的脚本很简单,就是输出hello world。为了运行这个构建,我们应该在当前目录下执行 "gradle hello",即gradle TaskName。

doLast意思是定义一个行为(映射Gradle中的Action类),放在当前task的最后,类似的,还有doFirst, 表示将定义的行为放在当前task最前面,例如

task hello {

  doLast{

      println "Hello world"

    }   

  doFirst{

      println "I am xxx"

    }   

}

执行gradle hello, 将输出

"I am xxx"

"Hello world"



另外,你也可以使用如下更简洁的方式来定义task:

task hello <<  {

     println "hello world"

}

这里也许大家可能会觉得很奇怪,为什么可以用"<<"来定义Task的执行内容呢,还是让我们看看Gradle的代码是怎么实现的吧:

 1 public abstract class AbstractTask implements TaskInternal, DynamicObjectAware {

 2   private List<Action<? super Task>> actions = new ArrayList<Action<?   super Task>>();

 3 

 4   public Task doFirst(Action<? super Task> action) {

 5         if (action == null) {

 6             throw new InvalidUserDataException("Action must not be null!");

 7         }

 8         actions.add(0, wrap(action));

 9         return this;

     }

 

    public Task doLast(Action<? super Task> action) {

         if (action == null) {

             throw new InvalidUserDataException("Action must not be null!");

         }

         actions.add(wrap(action));

         return this;

     }

从上面的代码可以看出,Task类里有个Action的集合actions,当使用doFirst或者doLast时,实际上是将定义的执行部分实例化成Action的对象,然后添加到actions集合里。

明白了这一点,接下来让我们看看为什么可以使用<<定义Task--------Groovy作为强大的支持DSL的动态语言,早已经重载了 << 操作符,使得我们可以方便的使用<<向集合添加元素。

说道这,相信真相已经大白了:原来就是使用Groovy的特性,往集合里添加Action而已。对,这就是Gradle的语法,利用Groovy的DSL特性,帮助我们更容易的定义我们的构建脚本。

不过也许大家会觉得,这个例子实在是没有什么代表性,只是一个简单的 hello world,说明不了什么问题。好吧,别着急,下次我们会继续研究Gradle的其他部分,不过先记住:作为一个构建工具,Gradle真的很强大哦!

Elcipse安装gradle插件的更多相关文章

  1. Gradle安装 Gradle效率提升 eclipse安装gradle插件 【我】

    Gradle安装 从官网下载 gradle4.6版本,也可以从svn地址下载 https://downloads.gradle.org/distributions/gradle-4.6-bin.zip ...

  2. Eclipse集成Gradle 【Eclipse在线安装Gradle插件方法】

    本章将介绍了Eclipse集成Gradle.以下是将Gradle插件添加到Eclipse的步骤. 步骤1 - 打开Eclipse Marketplace 打开在系统中安装好的Eclipse. 转到 J ...

  3. MyEclpse 2015在线安装Gradle插件图解

    MyEclpse 2015 安装Gradle插件 安装方式:在线安装 一.如何获得Gradle插件在线安装地址 Gradle插件最新在线安装地址可在如下网址中查找: https://github.co ...

  4. 构建工具-----Gradle(二)-----myeclipse 10和myeclipse2015安装gradle插件----其他版本的myeclipse类似

    我们需要给myeclipse安装gradle的插件.这样myeclipse就能识别到gradle项目了,直接加载进去即可. 我们先安装配置系统命令行的gradle,挺简单的,下载后配置环境变量即可,详 ...

  5. Eclipse安装Gradle插件

    1.window下安装Gradle见https://www.cnblogs.com/felixzh/p/9203271.html2.eclipse中依次打开help>Install new so ...

  6. elcipse 安装svn插件 转载

    1.下载最新的Eclipse,我的版本是3.7.2 indigo(Eclipse IDE for Java EE Developers)版    如果没有安装的请到这里下载安装:http://ecli ...

  7. elcipse 安装lombok插件解决 @Slf4j 等找不到log变量问题

    参考:http://blog.51cto.com/4925054/2127840 <dependency> <groupId>org.projectlombok</gro ...

  8. eclipse gradle插件(buildship)的安装和使用

    一.下载gradle https://gradle.org/gradle-download/ 二.手动安装gradle插件 我选择的是buildship,经过实际使用,体验很好. 插件的下载地址是: ...

  9. eclipse安装和配置Gradle插件

    配置: 首先下载Gradle:https://gradle.org/gradle-download/ 设置Gradle环境变量: GRADLE_HOME %GRADLE_HOME%\bin" ...

随机推荐

  1. SpringCache学习之操作redis

    一.redis快速入门 1.redis简介 在java领域,常见的四大缓存分别是ehcache,memcached,redis,guava-cache,其中redis与其他类型缓存相比,有着得天独厚的 ...

  2. solr6.6初探之solrj

    一. solrj简介: solrj可以使Java应用程序很方便的访问与操作solr.solrj有几个核心类,分别为:1.SolrClient 2.SolrRequests 3.SolrQuerys 4 ...

  3. Python中list的功能介绍

    List的功能介绍 1. 列表的两种方法 1. 列表的内置方法 列表的相加 格式:x.__add__(y)等同于x+y 例如:list1 = [1,2,3] print(list1.__add__([ ...

  4. jQuery简单笔记

    jQuery 是一个 JavaScript 库,简化了 JavaScript 的编程. 语法:$(selector).action() selector 是字符串,表示HTML元素. 对象 符号 例子 ...

  5. jvm 指令集代码

    指令码 助记符 说明 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将int ...

  6. jquery 引号问题

    varFrozenColumns="[[{'field':'CZ','title':'操作','width':80,'align':'center','formatter':function ...

  7. 4月18开始看《C++Primer Plus》

    好久没有写博客了,之前也说过水平有限,也写不出什么技术博客,只能写些感悟. 过年之后,陆续做了2.3个项目,刚开始可能不太熟悉流程,怎么和页面传数据?最近一个项目1/2天就写完代码了,真的很简单,主要 ...

  8. WPF 窗口居中 & 变更触发机制

    窗口居中 & 变更触发机制 解决: 1.单实例窗口,窗口每次隐藏后再显示时,位置居中显示 2.多屏幕下单实例窗口,当父窗口移动到其它屏幕时,单实例窗口再次弹出时,位置才更新到父窗口屏幕. 3. ...

  9. Genymotion配置遇到的坑

    1.Genymotion 无法Add下来 解决: ①首先打开Genymotion,的Settings然后找到VirtualBox,复制链接,在本地找到文件夹,然后返回上一层找到ova文件夹进入, ②然 ...

  10. Ubuntu搭建owncloud10

    前言: 在此我先吐槽一下.用Centos系统简直是为难我自己,是看到那个系统 感到无比的绝望. 正文: 自己在虚拟机中搭建Ubuntu系统.这里就不说了 安装好之后自己换源.建议的源: 清华源: # ...