最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Gradle快速安裝及入門(mén)

 更新時(shí)間:2018年10月16日 16:49:23   作者:u010950924  
今天小編就為大家分享一篇關(guān)于Gradle快速安裝及入門(mén),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

1、什么是Gradle

Gradle是一種結(jié)合了Ant和Maven兩者優(yōu)勢(shì)的下一代構(gòu)建工具,既有Ant構(gòu)建靈活性的優(yōu)點(diǎn),也保留Maven約定優(yōu)于配置的思想,在靈活構(gòu)建和約定構(gòu)建之間達(dá)到了很好的平衡。

2、安裝Gradle

 (1)Gradle屬于解壓配置即可使用的軟件

  下載解壓gradle-4.1-all.zip,例如解壓到:D:/ gradle-4.1

(2)window中設(shè)置gradle環(huán)境變量:

  •   GRADLE_HOME    D:/ gradle-4.1
  •   path                    D:/ gradle-4.1/bin(或者:%GRADLE_HOME%\bin)

(3)開(kāi)始->運(yùn)行->cmd,輸入如下命令:gradle -v

3、Gradle構(gòu)建腳本

每一gradle構(gòu)建腳本都包含三個(gè)基本構(gòu)建塊:project、task和property。每一個(gè)構(gòu)建中至少包含一個(gè)project,進(jìn)而包含一個(gè)或多個(gè)task(project和task可以分別理解為Ant構(gòu)建工具中的<project>和<target>標(biāo)簽)。project和task暴露的屬性可以用來(lái)控制構(gòu)建,project本身自帶很多task并且和通過(guò)引入新的插件來(lái)引入新的task,task中包含各種構(gòu)建方法來(lái)執(zhí)行項(xiàng)目構(gòu)建,例如:clean、build等常見(jiàn)的構(gòu)建方法。

(1)、創(chuàng)建一個(gè)空白的build.gradle構(gòu)建腳本

項(xiàng)目目錄結(jié)構(gòu)(假如其中demo為D:\demo):

  1. demo
  2. |--build.gradle(D:\demo\build.gradle)

執(zhí)行如下命令: 

D:\demo>gradle tasks

執(zhí)行結(jié)果輸出:

(2)、創(chuàng)建一個(gè)包含有java plugin的構(gòu)建腳本

項(xiàng)目目錄結(jié)構(gòu)(假如其中demo為D:\demo):

  1. demo
  2. |--build.gradle(D:\demo\build.gradle)

build.gradle 構(gòu)建腳本內(nèi)容:

apply plugin: 'java'

執(zhí)行如下命令:

D:\demo>gradle tasks

執(zhí)行結(jié)果輸出(部分):

總結(jié):對(duì)比上面兩 個(gè)構(gòu)建腳本gradle tasks 命令輸出的結(jié)果,加了apply plugin: 'java' 插件的構(gòu)建腳本要多出了 Build tasks 等任務(wù),從第二個(gè) Build tasks 任務(wù)中能夠看到,gradle 構(gòu)建的常用命令 build、clean等,由此可以知道通過(guò)引入插件,就可以增加相應(yīng)的構(gòu)建功能。

4、Gradle案例實(shí)戰(zhàn)

(1)、基于約定由于配置構(gòu)建項(xiàng)目

基于約定的項(xiàng)目目錄結(jié)構(gòu)圖(和maven默認(rèn)目錄結(jié)構(gòu)一致):

Gradle采用了Maven約定優(yōu)于配置的思想,只要按照一定的項(xiàng)目目錄結(jié)構(gòu),構(gòu)建插件將能都自動(dòng)找到需要構(gòu)建的文件進(jìn)行項(xiàng)目構(gòu)建,構(gòu)建如此的簡(jiǎn)單。下面是一個(gè)標(biāo)準(zhǔn)的項(xiàng)目目錄結(jié)構(gòu)

項(xiàng)目目錄結(jié)構(gòu)(假如其中demo為D:\demo):

  1. demo
  2. |--src
  3. |----main
  4. |------java
  5. |--------com
  6. |-----------hello
  7. |--------------Hello.java(D:\demo\src\main\java\com\hello\Hello.java)
  8. |------resources
  9. |----test
  10. |------java
  11. |------resources
  12. |--build.gradle(D:\demo\build.gradle)

Hello.java  內(nèi)容(只是一個(gè)簡(jiǎn)單的java類(lèi),自己可以任意寫(xiě))

public class Hello{
 public static void main(String[] args){
 System.out.println("hello ant");
 }
}

build.gradle  內(nèi)容(只需要引入java 插件)

apply plugin: 'java'

進(jìn)入D:\demo目錄在命令行執(zhí)行 gradle clean build 命令后的目錄結(jié)構(gòu):

生成了標(biāo)準(zhǔn)的build輸出目錄 

  1. demo
  2. |--build
  3. |----classes
  4. |------java
  5. |--------main
  6. |----------com
  7. |------------hello
  8. |---------------Hello.class(D:\demo\build\classes\java\main\com\hello\Hello.class)
  9. |----libs
  10. |-------Hello.jar(D:\demo\build\libs\Hello.jar)
  11. |--src
  12. |----main
  13. |------java
  14. |--------com
  15. |-----------hello
  16. |--------------Hello.java(D:\demo\src\main\java\com\hello\Hello.java)
  17. |------resources
  18. |----test
  19. |------java
  20. |------resources
  21. |--build.gradle(D:\demo\build.gradle)

(2)、靈活定制構(gòu)建項(xiàng)目

當(dāng)構(gòu)建歷史遺留項(xiàng)目,由于項(xiàng)目目錄結(jié)構(gòu)的高度自由,gradle可以通過(guò)簡(jiǎn)單的配置即可完成項(xiàng)目構(gòu)建

下面是一個(gè)非標(biāo)準(zhǔn)的項(xiàng)目目錄結(jié)構(gòu)(Hello.java并未位于標(biāo)準(zhǔn)的目錄中):

項(xiàng)目目錄結(jié)構(gòu)(假如其中demo為D:\demo):

  1. demo
  2. |--src
  3. |------com
  4. |---------hello
  5. |--------------Hello.java(D:\demo\src\com\hello\Hello.java)
  6. |--build.gradle(D:\demo\build.gradle)

build.gradle  內(nèi)容(只需要簡(jiǎn)單的指定源文件目錄和編譯輸出目錄,即可定制構(gòu)建)

apply plugin: 'java'
sourceSets{
 main{
 java {
  srcDirs = ['src'] //指定了java源文件目錄為src而不是默認(rèn)的src/main/java
 }
 }
}
buildDir = 'out' //指定輸出目錄為out而不是默認(rèn)的build

進(jìn)入D:\demo目錄在命令行執(zhí)行 gradle clean build 命令后的目錄結(jié)構(gòu):

輸出目錄名稱(chēng)變成了out,但是out中的編譯生成文件目錄等都按照了標(biāo)準(zhǔn)生成 

  1. demo
  2. |--out
  3. |----classes
  4. |------java
  5. |--------main
  6. |----------com
  7. |------------hello
  8. |---------------Hello.class(D:\demo\out\classes\java\main\com\hello\Hello.class)
  9. |----libs
  10. |-------Hello.jar(D:\demo\out\libs\Hello.jar)
  11. |--src
  12. |------com
  13. |---------hello
  14. |--------------Hello.java(D:\demo\src\com\hello\Hello.java)
  15. |--build.gradle(D:\demo\build.gradle)

通過(guò)上面兩個(gè)簡(jiǎn)單的java項(xiàng)目(基于約定由于配置構(gòu)建項(xiàng)目 和 靈活定制構(gòu)建項(xiàng)目)構(gòu)建能夠很明了的提現(xiàn)gradle基于約定構(gòu)建的簡(jiǎn)單快速和制定構(gòu)建的靈活

5、Gradle優(yōu)缺點(diǎn)

優(yōu)點(diǎn):基本結(jié)合了以往項(xiàng)目構(gòu)建工具(Ant和Maven)的所有優(yōu)點(diǎn),是構(gòu)建工具的首選

缺點(diǎn):相對(duì)較高的理解學(xué)習(xí)成本

6、Gradle的特性

Gradle使用Groovy作為腳本語(yǔ)言的構(gòu)建工具,而Groovy是基于JVM的動(dòng)態(tài)語(yǔ)言,它對(duì)Java有著先天的兼容性,你甚至可以在構(gòu)建腳本中編寫(xiě)Java程序。

Gradle不像Ant和Maven那樣使用xml編寫(xiě)腳本,它使用的是Groovy,這意味著你在編寫(xiě)腳本的時(shí)候更像是在寫(xiě)程序,而不是編寫(xiě)充滿(mǎn)尖括號(hào)又不好閱讀xml文件。

Gradle像Maven一樣遵循約定優(yōu)于配置的原則,也就是說(shuō)你的項(xiàng)目只要按照標(biāo)準(zhǔn)約定搭建起來(lái),你只需要做簡(jiǎn)單的配置就可以構(gòu)建你的項(xiàng)目了。

Gradle支持現(xiàn)有的Maven倉(cāng)庫(kù),所以你可以很方面地利用Maven上的所有庫(kù)。

Gradle支持依賴(lài)傳遞,也就是說(shuō)當(dāng)A庫(kù)依賴(lài)B庫(kù)的時(shí)候,你只需要引用A庫(kù)就可以了,Gradle會(huì)自動(dòng)幫你依賴(lài)B庫(kù)。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的方法

    spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的方法

    這篇文章主要給大家介紹了關(guān)于spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • Java編程synchronized與lock的區(qū)別【推薦】

    Java編程synchronized與lock的區(qū)別【推薦】

    互聯(lián)網(wǎng)信息泛濫環(huán)境下少有的良心之作!如果您想對(duì)Java編程synchronized與lock的區(qū)別有所了解,這篇文章絕對(duì)值得!分享給大家,供需要的朋友參考。不說(shuō)了,我先學(xué)習(xí)去了。
    2017-10-10
  • java中BCryptPasswordEncoder密碼的加密與驗(yàn)證方式

    java中BCryptPasswordEncoder密碼的加密與驗(yàn)證方式

    這篇文章主要介紹了java中BCryptPasswordEncoder密碼的加密與驗(yàn)證方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 如何解決@Data和@Builder的沖突問(wèn)題

    如何解決@Data和@Builder的沖突問(wèn)題

    在使用@Data和@Builder注解時(shí),可能會(huì)導(dǎo)致無(wú)法使用無(wú)參構(gòu)造方法創(chuàng)建實(shí)體類(lèi)實(shí)例的問(wèn)題,本文提出了兩種解決方法:一是手動(dòng)添加無(wú)參構(gòu)造并使用@Tolerate注解兼容;二是同時(shí)添加@AllArgsConstructor和@NoArgsConstructor注解,既添加無(wú)參構(gòu)造也添加全參構(gòu)造
    2024-10-10
  • Feign使用@PathVariable方式

    Feign使用@PathVariable方式

    Feign使用@PathVariable注解在URL中插入變量,類(lèi)似于SpringMVC的用法,通過(guò)示例展示了如何使用該注解,并在實(shí)際調(diào)用中替換占位符
    2024-11-11
  • SpringBoot3實(shí)現(xiàn)Gzip壓縮優(yōu)化的技術(shù)指南

    SpringBoot3實(shí)現(xiàn)Gzip壓縮優(yōu)化的技術(shù)指南

    隨著 Web 應(yīng)用的用戶(hù)量和數(shù)據(jù)量增加,網(wǎng)絡(luò)帶寬和頁(yè)面加載速度逐漸成為瓶頸,為了減少數(shù)據(jù)傳輸量,提高用戶(hù)體驗(yàn),我們可以使用 Gzip 壓縮 HTTP 響應(yīng),本文將介紹如何在 Spring Boot 3 中實(shí)現(xiàn) Gzip 壓縮優(yōu)化,需要的朋友可以參考下
    2025-04-04
  • Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池的方法

    Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池的方法,涉及java數(shù)據(jù)庫(kù)連接池的創(chuàng)建、連接、刷新、關(guān)閉及狀態(tài)獲取的常用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Android Home鍵監(jiān)聽(tīng)的實(shí)現(xiàn)代碼

    Android Home鍵監(jiān)聽(tīng)的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Android Home 鍵監(jiān)聽(tīng)的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • MyBatis-Plus使用sl4j日志打印SQL的代碼詳解

    MyBatis-Plus使用sl4j日志打印SQL的代碼詳解

    以下是關(guān)于使用 Spring Boot 起始器替換 slf4j-api 和 logback 依賴(lài)的詳細(xì)步驟和注意事項(xiàng),包括 MyBatis-Plus 的默認(rèn)日志級(jí)別信息,需要的朋友可以參考下
    2024-10-10
  • Java的文檔注釋之生成幫助文檔的實(shí)例

    Java的文檔注釋之生成幫助文檔的實(shí)例

    下面小編就為大家分享一篇Java的文檔注釋之生成幫助文檔的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12

最新評(píng)論

磐安县| 莲花县| 枣庄市| 南投县| 靖安县| 伊川县| 长春市| 凤凰县| 岗巴县| 鹤峰县| 万全县| 托里县| 贵港市| 乾安县| 繁昌县| 攀枝花市| 深圳市| 章丘市| 邢台县| 江津市| 自贡市| 本溪| 虎林市| 正阳县| 班玛县| 鸡泽县| 慈溪市| 贵港市| 天峻县| 喀喇沁旗| 巫溪县| 丘北县| 陇南市| 哈密市| 文安县| 慈溪市| 济阳县| 阳信县| 安陆市| 武陟县| 肥西县|