一、Gradle 簡介
1.1 什么是 Gradle?
Gradle 是一個基於 Apache Ant 和 Apache Maven 概念的 項目自動化構建開源工具。它使用一種基於Groovy
的DSL
(Domain-Specific Language 領域特定語言)來聲明項目設置,拋棄了基於 XML 的各種繁瑣配置。面向 Java 應用為主。當前其支持的語言限於Java、Groovy、Kotlin 和 Scala,計划未來將支持更多的語言。
Gradle 是一個基於 JVM 的構建工具,是一款通用靈活的構建工具,支持 Maven、 Ivy 倉庫、支持傳遞性依賴管理,而不需要遠程倉庫或者是pom.xml
和ivy.xml
配置文件,基於 Groovy(Groovy 是一種基於 JVM 的動態語言),build 腳本使用 Groovy 編寫。
1.2 Gradle 的功能
- 基於聲明的構建和基於約定的構建
- 為以依賴為基礎的編程方式提供語言支持
- 構建結構化
- 深度 API
- Gradle 良好的擴展
- 多項目構建
- 多種方式管理依賴
- 易於移植
- Gradle 的構建腳本是采用 Groovy 編寫,而不是 XML
- Gradle Wrapper 允許你在沒有安裝 Gradle 的機器上執行 Gradle 構建
- Gradle 是一個開源項目,並遵循 ASL 許可
1.3 Groovy 與 Java 比較
Groovy 是用於 JVM 的一種敏捷的動態語言,它是一種成熟的面向對象編程語言,既可以用於面向對象編程,又可以用作純粹的腳本語言。使用該語言不必編寫過多的代碼,同時又具有 閉包
和動態語言的其它特性。
- Groovy 完全兼容 Java 語法(因為他們都是基於 JVM 的)
- 分號是可選的
- 類、方法默認是
public
的 - 編譯器給屬性自動添加
getter/setter
方法 - 屬性可以直接使用點號(
.
)獲取 - 最后一個表達式的值會被作為返回值(即如果該方法需要返回值,那么
return
可以不寫) ==
等同於equals()
,不會有NullPointerExceptions
1.4 Groovy 的一些高效特性
- 自帶
assert(斷言)
語句(可以在任何地方進行斷言操作) - 可選類型定義(相當於一個弱類型編程語言)
- 可選的括號(如調用的參數括號可以不寫)
- 字符串(有三種表達形式:單引號、雙引號和三個單引號)
- 集合 API(Groovy 中 List、Map 有更簡單的寫法)
- 閉包
二、Gradle 安裝配置(Windows)
2.1 前提條件
- JDK:
JDK 8
(需要安裝 JDK & JRE 8 或更高版本,本次使用的是java version "1.8.0_65"
)
2.2 手動安裝
目前的 Gradle 版本是版本 5.4.1,於 2019 年 4 月 26 日發布。分發 zip 文件有兩種版本:
如有疑問,請選擇僅二進制版本並在線瀏覽 文檔 和 來源。需要使用舊版本嗎?請參閱 版本頁面。
2.3 環境配置
- 在磁盤D下新建目錄
D:\Gradle
,並將下載的gradle-5.4.1-bin.zip
解壓至該文件夾中; - 編輯環境變量中的
Path
變量,添加條目D:\Gradle\gradle-5.4.1\bin
,單擊“確定”保存。
2.4 驗證 Gradle 是否安裝成功
Windows + R
-> 輸入cmd
進入命令行模式;- 運行
gradle -v
查看 Gradle 版本信息。
C:\Users\Administrator>gradle -v
Welcome to Gradle 5.4.1!
Here are the highlights of this release:
- Run builds with JDK12
- New API for Incremental Tasks
- Updates to native projects, including Swift 5 support
For more details see https://docs.gradle.org/5.4.1/release-notes.html
------------------------------------------------------------
Gradle 5.4.1
------------------------------------------------------------
Build time: 2019-04-26 08:14:42 UTC
Revision: 261d171646b36a6a28d5a19a69676cd098a4c19d
Kotlin: 1.3.21
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 1.8.0_65 (Oracle Corporation 25.65-b01)
OS: Windows 10 10.0 amd64