到gradle官网下载页 https://gradle.org/gradle-download/ 下载gradle,其中“彻底版(Complete distribution)”包含除了运行程序外,还有源代码和重要的离线文档,不过若是你的网络很好,不在乎文档是否须要离线或者更偏好在线文档,那可选择“二进制(Binary only distribution)”版,该下载文件包里仅有运行时库。“source code”文件包仅包含gradle源代码。java
下载完成后,解压到某个程序安装目录,这里是/usr/lib/:shell
sudo unzip ~/Downloads/gradle-2.14.1-all.zip -d /usr/lib/
作个软连接:vim
cd /usr/lib/ sudo ln -s gradle-2.14.1 gradle
配置环境变量GRADLE_HOME及PATH:bash
编辑~/.bashrc或/etc/profile(效果会有细微差异,若是单用户尽可能配置到~/.bashrc,若是是多用户且不但愿为其余用户重复配置,选择/etc/profile),加入如下脚本语句:网络
export GRADLE_HOME="/usr/lib/gradle/" export PATH="$GRADLE_HOME/bin/:$PATH"
保存后source配置文件,以后变量就生效了:app
source /etc/profile source ~/.bashrc echo $GRADLE_HOME
若是是配置到/etc/profile的,退出当前终端后再打开新的终端可能发现变量无效了,须要注销当前用户,从新登录,以后打开的终端就能使用刚才设置的变量(若想知道缘由,可经过关键字“登录shell、非登录shell”了解)。dom
测试gradle命令是否能使用:maven
gradle -v
构建工具两大主要功能是构建和依赖管理,对于使用IDE开发环境的使用者来讲,主要使用依赖管理功能。工具
gradle是经过读取配置文件(主要是项目下的build.gradle),而后使用插件来完成构建任务的。布局
gradle有一些自带的标准插件,可直接使用,无需额外下载安装,其中java和scala的插件就如其名,分别为'java'和'scala'。
从命令行新建一个java项目并编译的过程以下:
mkdir gradle-demo cd gradle-demo vim build.gradle
写入如下内容后保存:
apply plugin:'java'
标准java插件默认的java源文件根目录是src/main/java/,可在build.gradle中加入语句更改源文件存储目录:
本次示例使用默认目录(也就说没有加入以上配置)。
mkdir -p src/main/java/ vim src/main/java/App.java
编写hello world程序:
保存退出。
编译Java源代码:
gradle build
在项目目录下多出一个build文件夹,其下有classes/main文件夹,做为保存main source set生成的java class文件用,进入之,然后运行App:
cd build/classes/main/
java App
灵活的依赖管理,支持多种形式的依赖,这是gradle的亮点,也是我由maven转为maven+gradle方式的缘由之一。
若是使用IDE(如IntelliJ Idea)进行开发,那gradle的命令行使用就不是被关注的焦点了,这时依赖管理更受使用者关注。以前通常使用maven做为构建工具,偶尔会复制一些非maven库中的jar到项目的某个文件夹(如libs或lib)做为额外的依赖jar包,为知足这种需求要在build.gradle中加入依赖配置。
加入本地maven依赖jar包须要加入以下配置(确保你已安装并配置好了maven,没有与gradle相关的maven配置须要作,也就说以前若已在使用maven的不须要任何事):
若是本地maven仓库不在~/.m2/repository/(Windows下对应%USERPROFILE%\.m2\repository\),须要正确配置~/.m2/settings.xml中的本地maven仓库配置,由于M2_HOME或MAVEN_HOME/conf/settings.xml中的可能失效。也可在每一个项目的build.gradle中指定本地maven仓库,经过一下配置语句实现:
maven {
url uri('/usr/share/mvn-repo/')
}
固然也可使用在线的maven仓库,gradle能够自动下载到本地,可问题是gradle不会像maven同样规矩地放到本地maven仓库,致使不方便maven工具重用和管理jar包,我经常使用作法是用mvn dependency:copy -Dartifact=g:a:v命令下载jar包到本地,让gradle只使用本地maven仓库。
在线maven仓库依赖配置:
经过下图中的配置告诉gradle本项目依赖于common-io:
一个依赖(dependency)有几个属性,经常使用的有group、artifact、version,对于maven的依赖这三者都须要,对其余如faltDir的依赖,只需artifact。
经过上图中的配置告诉gradle在项目/lib, lib2/文件夹中寻找依赖包,如下图中的方式告诉gradle本项目依赖于kk包。
compile ':kk:1.1'语句中group为空串,artifact为kk,version为1.1,而gradle会匹配任何version的kk,如在本项目中,文件布局以下:
build.gradle文件内容以下:
其中kk.jar(复制dom4j包更名的)中没有version信息,而仍匹配上了compile ':kk:1.1'。若是用的是IntelliJ Idea集成开发环境,能够在Gradle窗口中点击刷新图标以更新build.gradle中的配置。打开Gradle窗口的方式是悬浮指针左下角的小灰色图标上,然后点击弹出的Gradle菜单项,以下图:
刷新按钮的图标以下图中的第一个两个箭头围起来的圆圈: