神兵利器Gradle

2019-09-05 11:18发布

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/

文章来源: https://www.toutiao.com/group/6732459871582552588/