到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菜單項,以下圖:
刷新按鈕的圖標以下圖中的第一個兩個箭頭圍起來的圓圈: