构建工具Gradle安装和简单使用

1. 安装

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_HOMEPATHbash

编辑~/.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

 

2. 使用

构建工具两大主要功能是构建和依赖管理,对于使用IDE开发环境的使用者来讲,主要使用依赖管理功能。工具

gradle是经过读取配置文件(主要是项目下的build.gradle),而后使用插件来完成构建任务的。布局

命令行构建新Java项目Hello World

gradle有一些自带的标准插件,可直接使用,无需额外下载安装,其中javascala的插件就如其名,分别为'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

 

3. 依赖管理

灵活的依赖管理,支持多种形式的依赖,这是gradle的亮点,也是我由maven转为maven+gradle方式的缘由之一。

若是使用IDE(如IntelliJ Idea)进行开发,那gradle的命令行使用就不是被关注的焦点了,这时依赖管理更受使用者关注。以前通常使用maven做为构建工具,偶尔会复制一些非maven库中的jar到项目的某个文件夹(如libslib)做为额外的依赖jar包,为知足这种需求要在build.gradle中加入依赖配置。

3.1. 依赖maven

加入本地maven依赖jar包须要加入以下配置(确保你已安装并配置好了maven,没有与gradle相关的maven配置须要作,也就说以前若已在使用maven的不须要任何事):

 

若是本地maven仓库不在~/.m2/repository/Windows下对应%USERPROFILE%\.m2\repository\),须要正确配置~/.m2/settings.xml中的本地maven仓库配置,由于M2_HOMEMAVEN_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)有几个属性,经常使用的有groupartifactversion,对于maven的依赖这三者都须要,对其余如faltDir的依赖,只需artifact

 

3.2. 依赖项目/lib文件夹jar

 

经过上图中的配置告诉gradle在项目/lib, lib2/文件夹中寻找依赖包,如下图中的方式告诉gradle本项目依赖于kk包。

 

compile ':kk:1.1'语句中group为空串,artifactkkversion1.1,而gradle会匹配任何versionkk,如在本项目中,文件布局以下:

 

build.gradle文件内容以下:

 

其中kk.jar(复制dom4j包更名的)中没有version信息,而仍匹配上了compile ':kk:1.1'。若是用的是IntelliJ Idea集成开发环境,能够在Gradle窗口中点击刷新图标以更新build.gradle中的配置。打开Gradle窗口的方式是悬浮指针左下角的小灰色图标上,然后点击弹出的Gradle菜单项,以下图:

 

刷新按钮的图标以下图中的第一个两个箭头围起来的圆圈:

 

相关文章
相关标签/搜索