Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具,他集Maven的规范及Ant的灵活于一身,是更好用的构建工具,
在开发社区中也呈现越来越流行的趋势。通俗点说,他就是一个实现了Maven中央库的增强版本的Ant。支持插件机制,工程依赖,
与Maven与生俱来的兼容性,更好更灵活的groovy构建语法,是构建Java项目非常好的选择,另外有更多自动化的可能性。
但是gradle也有一个天生的最大缺点,GFW对其有很大的影响,所以受网络环境影响很大,
前期我在使用时,公司和家里的网络状况不一致,体验很差,翻墙后好了很多。
官方网站:https://gradle.org/
(一)安装篇
废话不多说,先进行安装
安装分为普通安装及IDE安装,如果你在服务器上使用,使用普通安装即可,在自己本机开发环境还是使用IDE安装比较多
普通安装:
普通安装不赘述,参考官方网站安装即可,https://gradle.org/install
IDEA安装:
Eclipse通常需要安装buildship插件,官网上也有详细的安装说明
http://www.vogella.com/tutorials/EclipseGradle/article.html
IDEA的使用,IDEA其实不用安装,实际就自带gradle支持,只需要看下使用手册即可
https://www.jetbrains.com/help/idea/2016.3/gradle.html
安装都较为简单,需要注意的是,在中国的网络环境下,下载安装包可能会较慢,但是还是可以下载下来的,耐心等待即可。
(二)目录篇
一个标准的gradle工程可能有以下目录,你可以通过【gradle init --type java-library】命令来新建一个gradle的项目,
当然也可以创建别的类型项目,选择不同的参数即可。
├── build.gradle
├── gradle
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
(1)build.gradle:核心文件,依赖及任务定义都定义在此文件中
(2)gradle、gradlew、gradlew.bat:其实都是gradlew工具的依赖文件,gradlew可以认为是包装器,
记录了构建这个工程是所使用的gradle版本信息及相关设置。使用gradle xxx的命令,全都可以使用gradlew xxx来进行替换。当使用gradlew xxx的时候,操作系统会自动下载创建这个工程时的gradle版本并执行命令。这部分在网络上共享项目时,为避免版本冲突会有用。
(3)settings.gradle:gradle的基础配置文件,在多模块的场景下配置模块之间的依赖关系,单工程下,此文件无有效内容
发现了吗,只有build.gradle文件是关键的文件,一个gradle工程,只基于这一个文件。根目录下有build.gradle文件,
就会认为这个是一个gradle的项目。该文件中定义了gradle所需要的所有任务及依赖信息。
我们来看下这个文件中有什么基本内容
(三)构建文件
(1)插件定义:以下这句定义了工程集成了java插件
apply plugin: 'java'
我们常见的web开发的插件还有:
(2)库定义:定义jar的下载库位置,这部分定义和maven其实是一样的
为了更快的下载速度,我们通常使用阿里云的镜像库:
(3) 依赖关系定义:
是不是比maven的xml定义要简洁很多,其实他是与maven一脉相承的,maven的库网站上一样有gradle格式的坐标
http://mvnrepository.com/