【入门】Gradle的基本使用、在IDEA中的配置、常用命令


一、介绍

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命令即可,参考下面的环境变量设置:

1.windows环境

设置系统环境变量

GRADLE_HOME
D:\Work\04_Plug-in unit\gradle-2.10

PATH中增加

%GRADLE_HOME%\bin;

注意:如果是win10系统,无需配置GRADLE_HOME,因为path中不识别变量,直接在PATH中用全路径

D:\Work\04_Plug-in unit\gradle-2.10\bin

2.Linux系统

export GRADLE_HOME=/opt/module/gradle-2.10
export PATH="...bin:${GRADLE_HOME}/bin"

验证:

gradle -version
或
gradle -v

三、IDEA中使用

1.idea导入gradle的设置

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

#编译(编译过程中会进行单元测试)
gradle build

#单元测试
gradle test

#编译时跳过单元测试
gradle build -x test

#直接运行项目 
gradle run

#清空所有编译、打包生成的文件(即:清空build目录)
gradle clean

#生成mybatis的model、mapper、xml映射文件,注: 生成前,先修改src/main/resources/generatorConfig.xml 文件中的相关参数 , 比如:mysql连接串,目标文件的生成路径等等
gradle mybatisGenerate

#生成可运行的jar包,生成的文件在build/install/hello-gradle下,其中子目录bin下为启动脚本, 子目录lib为生成的jar包
gradle installApp

#打包源代码,打包后的源代码,在build/libs目录下
gradle sourcesJar

#安装到本机maven仓库,此命令跟maven install的效果一样
gradle install

#生成pom.xml文件,将会在build根目录下生成pom.xml文件,把它复制项目根目录下,即可将gradle方便转成maven项目
gradle createPom

相关