首頁 > 軟體

Gradle使用筆記

2020-06-16 17:10:59

Gradle 是一個專注於構建自動化、提供多語言支援的構建工具,假如你需要構建、測試、發布以及部署軟體到某些平台,Gradle 提供一個靈活的模型,提供從編譯、打包程式碼並行佈到網站的整個開發生命週期支援,Gradle 設計之初就考慮到支援構建自動化,多語言以及跨平台。Gradle 目前支援的語言主要有 Java,Scala,Android,C/C++,Groovy。和開發工具以及持續整合伺服器整合在一起,如:Eclipse,Intellij,Jenkins。

Gradle 的優勢

  • 免費
  • 社群完善
  • AndroidStudio 自動構建工具
  • 相比 xml 組態檔,語法極盡簡潔,後續例子會給出相關程式碼對比
  • 新技術總是很酷

在 Windows7 下安裝 Gradle

Gradle 的執行需要Java JDK 的支援,JDK 的版本至少是1.7。cmd 執行 java -version 以驗證 java 版本。

C:Userskyyee>  java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-bit Server VM (build 25.74-b02, mixed mode)

使用包管理工具安裝

Chocolatey 是 Windows 下的一個包管理工具

安裝完成後在 cmd 執行 choco install gradle

C:Userskyyee>  choco install gradle

手動安裝

  1. 最新 Gradle 二進位制檔案包下載,以前的版本下載
  2. 解壓二進位制檔案包,將二進位制檔案包複製到希望安裝的目錄下如:C:Program Files (x86)Gradle
  3. 設定系統環境變數
    GRADLE_HOME=”C:Program Files (x86)Gradlegradle-3.4.1”
    PATH=”%GRADLE_HOME%/bin”
  4. 驗證你的安裝
C:Userskyyee>  gradle -v

輸入如圖所示,表示安裝成功。

在 IDEA 中使用 Gradle

進入 IDEA 建立新專案的引導介面,選擇建立 Gradle 專案,如圖所示。

勾選 Web ,IDEA 建立的目錄結構如圖所示。

不勾選 Web ,IDEA 建立的目錄結構如圖所示。

點選Next進入下一步,如圖所示。

這裡需要填寫專案的組織所有者和專案名稱,進入下一步,如圖所示。

建議全部勾選並選擇本地Gradle,進入下一步,確認資訊,點選Finish,一個Gradle專案就構建完成了。

IDEA 中的 gradle 解析

目錄結構

一般來說,使用 IDEA 引導生成的 gradle 專案,目錄層次如下:

├── .gradle               專案 gradle 的記錄
├── .idea                 專案IDEA 設定資訊
├── gradle                gradle 版本資訊,版本下載地址,方便同意gradle版本
├── src                   專案根目錄
    ├── main
        ├── java          Java 程式碼
        ├── resources     資源
    ├── test
├── build.gradle          構建指令碼
├── demo.iml              專案組態檔,匯入專案自動生成
├── gradlew               gradle unix 啟動指令碼
├── gradlew.bat           gradle windows 啟動指令碼

gradlew 與 gradlew.bat 指令碼檔案在即使沒裝 gradle 的機器上也能執行,gradlew 與 gradle 的命令大致相同,只是 gradlew 多了一個環境檢測。

build.gradle 詳解

這是一個預設的gradle組態檔

buildscript {
    ext {
        springBootVersion = '1.5.2.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

buildscript 程式碼塊

指令碼自身需要的依賴、倉庫和擴充套件

apply plugin

引入外掛

repositories 倉庫

倉庫地址(只討論 maven 倉庫),這裡可引入的倉庫有兩類,遠端中心倉庫,本地倉庫。

遠端中心倉庫主要有兩種引入方式。

    maven {
        url("http://maven.aliyun.com/nexus/content/groups/public/") // 阿里雲遠端倉庫
    }
    mavenCentral()

maven 中心倉庫 repo1.maven.org/maven2 速度較慢,建議使用阿里雲遠端映象倉庫,當在阿里雲遠端映象倉庫中找不到資源時採取中心倉庫下載

本地倉庫同樣有兩種方式引入。

    mavenLocal()
    maven {
        url "file:///D:/.m2/repository"
    }

實際上,當你的 maven 本地倉庫為 C:/Users/kyyee/.m2/repository/ 時,你才可以使用mavenLocal(),否則 gradle 是找不到本地 maven 倉庫的,此時只能使用 url 檔案定位。

dependencies 依賴

如果你細緻讀下來,相信你已經對 gradle 有了初步認識。對比 maven 構建工具的 pom.xml ,相信 build.gradle 讓你眼前一亮。對於構建工具來說,依賴管理是它的靈魂。

使用gradle的依賴管理很簡單,mvnrepository 搜尋需要使用的jar包名,選擇合適的jar包進入詳情頁,選擇合適的版本,複製 gradle 依賴程式碼貼上在 dependencies 裡面。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-06/145272.htm


IT145.com E-mail:sddin#qq.com