Gradle -- 初體驗

  Gradle是一個基於Apache Ant和Apache Maven概念的項目自動化構建開源工具。它使用一種基於Groovy的特定領域語言(DSL)來聲明項目設置,拋棄了基於XML的各類繁瑣配置。java

面向Java應用爲主。當前其支持的語言限於Java、Groovy、Kotlin和Scala,計劃將來將支持更多的語言。Gradle是基於JVM的,因此首先須要確保已經安裝好了JDK,官方文檔中表示目前最新版本的Gradle須要的JDK環境是1.7以上。 編程

官方下載地址:https://gradle.org/next-steps/?version=4.10&format=binjson

官方安裝文檔:https://gradle.org/install/緩存

一.Windows下的安裝

1.下載安裝包解壓

 

  • bin : 存放可執行文件微信

  • init.d : 可存放構建腳本閉包

  • lib : 存放庫文件app

  • media : 存放圖標文件maven

2.配置環境變量

新建環境變量

Path中添加環境變量

3.cmd查看版本:gradle -v

如此,咱們便成功的安裝了gradle。編程語言

二.建立gradle的java工程

1.新建工程

和Maven的使用同樣,咱們建立工程時須要選擇gradle。這裏建立一個demo工程,如圖:ide

2.工程目錄

 

如圖,gradle的工程目錄結構和Maven的工程目錄結構差異不是很大,其中build.gradle文件至關於Maven的pom.xml文件。也有group和version的配置。

  • apply plugin: 'java' 指定了應用的打包方式插件,咱們也能夠配置爲war

  • repositories: 配置了倉庫

  • dependencies: 管理依賴,和使用Maven同樣,到中央倉庫找到依賴的座標複製過來便可(gradle座標)

settings.gradle文件則指定了工程的名稱。

3.gradle控制檯

如圖,咱們進入到gradle的控制檯,能夠看到和Maven仍是有些差異的。這裏有一個jar, 若是咱們將上一步的apply plugin : 'jar' 改成 apply plugin : 'war',那麼這裏會增長一個war的插件用於打包。

三.Groovy簡介

Groovy 是 用於Java虛擬機的一種敏捷的動態語言,它是一種成熟的面向對象編程語言,既能夠用於面向對象編程,又能夠用做純粹的腳本語言。使用該種語言沒必要編寫過多的代碼,同時又具備閉包和動態語言中的其餘特性。

Groovy是JVM的一個替代語言(替代是指能夠用 Groovy 在Java平臺上進行 Java 編程),使用方式基本與使用 Java代碼的方式相同,該語言特別適合與Spring的動態語言支持一塊兒使用,設計時充分考慮了Java集成,這使 Groovy 與 Java 代碼的互操做很容易。(注意:不是指Groovy替代java,而是指Groovy和java很好的結合編程。

Groovy特色:

  • Groovy徹底兼容Java的語法

  • 分號是可選的

  • 類、方法默認是public的

  • 編譯器給屬性自動添加getter/setter方法

  • 屬性能夠直接用點號獲取

  • 最後一個表達式的值會被做爲返回值

  • == 等同於Java的equals(),而且不會有空指針異常

Groovy特性的高級特性:

  • 支持assert語句

  • 支持可選類型定義

  • 可選的括號

  • 支持三種字符串

  • 擁有集合API

  • 支持閉包

四.gradle的依賴管理

大多數時候,咱們使用構建工具都是使用其中的依賴管理功能 就像咱們以前使用的Maven同樣。幾乎全部基於JVM的軟件項目都須要依賴外部類庫來重用現有的功能。自動化的依賴管理能夠明確依賴的版本,能夠解決因傳遞性依賴帶來的版本衝突。一個jar包屬於一個工件,在gradle中,工件在倉庫的座標是group、name以及version。而工件存放在倉庫裏,在gradle中經常使用的倉庫有mavenLocal、mavenCentral、jcenter,其中mavenCentra和jcenter是中央倉庫,mavenLocal則是本地倉庫 。

依賴傳遞

  • 若是B依賴A,C依賴B,那麼C依賴A。

依賴階段

依賴階段分爲兩個階段,即編譯階段和運行階段,而測試時也是分爲這兩個階段。編譯階段所依賴的jar包,在運行階段也會依賴。不一樣的階段會有不一樣的標識 。

  • compile : 編譯階段

  • runtime : 運行階段

  • testCompile : 測試編譯階段

  • testRuntime : 測試運行階段

添加依賴

例如如今我須要fastjson的依賴,首先到Maven中央倉庫複製fastJson的gradle依賴:

粘貼到dependencies方法中即完成了依賴的添加:

 

Tips: 若是發生依賴版本衝突,gradle默承認以解決版本衝突的問題,當出現兩個不一樣版本的依賴時,gradle默認會使用最高版本那個 。

若是咱們須要到多個倉庫上查找依賴的時候,能夠在 repositories 方法裏添加倉庫,gradle會按照配置前後去倉庫裏查找jar包,以下:

固然了,咱們仍是須要配置一下gradle的本地倉庫的,參見:

https://blog.csdn.net/qq_36869903/article/details/79923257

五.附錄

和Maven同樣,咱們在idea中須要配置一下.gradle的配置文件,默認在C盤。咱們能夠在自定義目錄中經過cmd的 mkdir .gradle 建立目錄並在這裏進行配置:

經測試,在未配置本地倉庫的時候,緩存的jar包會保存的.gradle的目錄下。

 

 

關注微信公衆號, 隨時隨地學習

相關文章
相關標籤/搜索