Gradle 10分钟上手指南

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的项目,可以快速帮助大家快速掌握各种常规用法

 

https://coding.net/u/yjmyzz/p/hello-gradle/git

https://github.com/yjmyzz/hello-gradle

 

直接按README.md里的说法,全部自己练一次,就差不多可以满足日常开发需要了。

 

 

参考文章:

Gradle入门系列(1):简介

Gradle入门系列(2):第一个Java项目

Gradle入门系列(3):依赖管理

Gradle入门系列(4):创建二进制发布版本
Gradle入门系列(5):创建多项目构建

 

时间: 2024-11-01 11:30:26

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

Skype一分钟上手指南

Skype是风靡全球的语音沟通软件,它最突出的特点在于具有强大的语音通讯功能,可拨打全球任何一部座机或手机,是最清晰的网络电话.同时又具有基础IM功能,可以与全球好友进行免费的文字.语音.视频交流,开展电脑.手机.普通座机多终端电话会议.下面让我们一起来体会一下Skype的简单易用,用一分钟学会如何进行免费的Skype语音通话! 第一步:下载安装 软件名称:Skype版本信息:3.6软件大小:20.13M软件语言:中文 您可以通过电脑之家的下载频道点击下载Skype3.6新版安装程序,很快您就可

Resharper上手指南

原文http://www.cnblogs.com/renji/archive/2007/12/11/resharper.html Resharper上手指南 我是visual studio的忠实用户,从visual studio 6一直用到了visual studio 2005(典型的80后是吧).我很想开始使用Visual Studio 2008,但是我不能,因为Resharper还不兼容.NET3.5的语法. Resharper是我一直非常喜欢的工具.响当当的名声绝对不是吹牛皮吹出来的.如果

「最简单」的 Core Data 上手指南

本文讲的是「最简单」的 Core Data 上手指南, 原文地址:The Easiest Core Data 原文作者:Alberto De Bortoli 译文出自:掘金翻译计划 译者:Zheaoli 校对者:Kulbear, cbangchen 在过去的几个月里,我花费了大量的时间在研究 Core Data 之上,我得去处理一个使用了很多陈旧的代码,糟糕的 Core Data 以及违反了多线程安全的项目.讲真,Core Data 学习起来非常的困难,在学习 Core Data 的时候,你肯定

系统城教你玩转win8上手指南系列

Windows8系统作为一款具有划时代意义的操作系统在微软的发展历程扮演着及其重要的角色,因为这是微软被用户所习惯的windows xp.windows vista乃至逐渐替代windows xp成为主流操作系统的基础上的一个全新且大胆的冒险与变革.不过作为一款新开发出来的操作系统,windows8与其崭新的用户交互操作模式和用户使用体验让很多新接触它的用户不知道从何下手.小编特地为此编写了这篇名为<系统城教你玩转win 8上手指南系列>希望能够让新老用户从具有鲜明特色的Metro UI和传统

win8上手指南

  Windows8系统作为一款具有划时代意义的操作系统在微软的发展历程扮演着及其重要的角色,因为这是微软被用户所习惯的windows xp.windows vista乃至逐渐替代windows xp成为主流操作系统的基础上的一个全新且大胆的冒险与变革.不过作为一款新开发出来的操作系统,windows8与其崭新的用户交互操作模式和用户使用体验让很多新接触它的用户不知道从何下手.这篇<系统城教你玩转win 8上手指南系列>希望能够让新老用户从具有鲜明特色的MetroUI和传统图形界面的结合到科技

Linux下LCD 10分钟自动关屏的问题总结

Linux下的LCD驱动默认10分钟后会自动关闭屏幕,我们可以修改一下代码让其不自动关屏 在有一个 drivers/char/vt.c 文件其中有一个变量(blankinterval)可以设置它来修改自动关屏的时间,也可以在函数(blank_screen_t)开头直接返回,这样就永远不会关屏了   在用LCD显示的时候,发现10分钟LCD就不再工作了.确实,Linux下有一个参数blankinterval的值就是10*60*Hz. 它决定了LCD只显示10分钟,然后LCD控制器就被关掉了. 具体

10分钟内给新手站长的一些SEO建议

  您是否希望自己的网站在搜索引擎中表现良好,却没有足够的时间来研究SEO?我们希望能助您一臂之力!如果您: 公司的网站内容少于50页. 希望提升您公司名称或少量的相关关键字的排名(此视频不适用于新闻网站或电子商务网站). 希望对搜索引擎友好并且吸引搜索用户,但又不能一直跟上最新的搜索技术. 那么也许您可以看看这个10分钟左右的视频(或幻灯片),您会从这得到一些SEO的相关知识.   更多的建议可以在developers.google.com/startups找到.祝大家好运!

教你打造3个月新站10分钟收录的方法

网站收录的增加,直接影响网站排名及收入,这是新手网赚站长在优化新站时最为关心的问题.很多站长都有这样的经历,每天坚持更新网站却发现百度收录超级地慢,但是别人的收录却很好.那么,怎么样才能顺利地做增加网站收录数量呢?今天拓荒就与大家分享一下实战更新文章10分钟收录的经验. PS:在此之前,需要说明一下我的网赚资讯网在4天前开始更新主机,折腾了4天昨天顺利换成bluehost主机,独立IP,具体我在这篇文章就介绍过http://www.wangzhuan478.com/1281.html.那么,通过

Mysql如何在字符串类型的日期上加上10分钟并和现在的日期做比较

SELECT id FROM tran WHERE state = 'F' AND TIMESTAMPDIFF(SECOND,DATE_ADD(create_date,INTERVAL 10 DAY_MINUTE),"2014-06-18 10:30:29")>0 如果create_date加10分钟大于等于当前的时间("2014-06-18 10:30:29") 那么就会查到数据, 如果小于那么就查不到数据 本栏目更多精彩内容:http://www.bian