一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Gradle快速安裝及入門

Gradle快速安裝及入門

2021-06-04 14:04u010950924 Java教程

今天小編就為大家分享一篇關于Gradle快速安裝及入門,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

1、什么是gradle

gradle是一種結合了ant和maven兩者優勢的下一代構建工具,既有ant構建靈活性的優點,也保留maven約定優于配置的思想,在靈活構建和約定構建之間達到了很好的平衡。

2、安裝gradle

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

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

(2)window中設置gradle環境變量:

  •   gradle_home    d:/ gradle-4.1
  •   path                    d:/ gradle-4.1/bin(或者:%gradle_home%\bin)

(3)開始->運行->cmd,輸入如下命令:gradle -v

Gradle快速安裝及入門

3、gradle構建腳本

每一gradle構建腳本都包含三個基本構建塊:project、task和property。每一個構建中至少包含一個project,進而包含一個或多個task(project和task可以分別理解為ant構建工具中的<project>和<target>標簽)。project和task暴露的屬性可以用來控制構建,project本身自帶很多task并且和通過引入新的插件來引入新的task,task中包含各種構建方法來執行項目構建,例如:clean、build等常見的構建方法。

(1)、創建一個空白的build.gradle構建腳本

項目目錄結構(假如其中demo為d:\demo):

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

執行如下命令: 

d:\demo>gradle tasks

執行結果輸出:

Gradle快速安裝及入門

(2)、創建一個包含有java plugin的構建腳本

項目目錄結構(假如其中demo為d:\demo):

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

build.gradle 構建腳本內容:

?
1
apply plugin: 'java'<br>

執行如下命令:

d:\demo>gradle tasks

執行結果輸出(部分):

Gradle快速安裝及入門

總結:對比上面兩 個構建腳本gradle tasks 命令輸出的結果,加了apply plugin: 'java' 插件的構建腳本要多出了 build tasks 等任務,從第二個 build tasks 任務中能夠看到,gradle 構建的常用命令 build、clean等,由此可以知道通過引入插件,就可以增加相應的構建功能。

4、gradle案例實戰

(1)、基于約定由于配置構建項目

基于約定的項目目錄結構圖(和maven默認目錄結構一致):

Gradle快速安裝及入門

gradle采用了maven約定優于配置的思想,只要按照一定的項目目錄結構,構建插件將能都自動找到需要構建的文件進行項目構建,構建如此的簡單。下面是一個標準的項目目錄結構

項目目錄結構(假如其中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  內容(只是一個簡單的java類,自己可以任意寫)

?
1
2
3
4
5
public class hello{
 public static void main(string[] args){
 system.out.println("hello ant");
 }
}<br>

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

?
1
apply plugin: 'java'

進入d:\demo目錄在命令行執行 gradle clean build 命令后的目錄結構:

生成了標準的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)、靈活定制構建項目

當構建歷史遺留項目,由于項目目錄結構的高度自由,gradle可以通過簡單的配置即可完成項目構建

下面是一個非標準的項目目錄結構(hello.java并未位于標準的目錄中):

項目目錄結構(假如其中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  內容(只需要簡單的指定源文件目錄和編譯輸出目錄,即可定制構建)

?
1
2
3
4
5
6
7
8
9
apply plugin: 'java'
sourcesets{
 main{
 java {
  srcdirs = ['src'] //指定了java源文件目錄為src而不是默認的src/main/java
 }
 }
}
builddir = 'out' //指定輸出目錄為out而不是默認的build

進入d:\demo目錄在命令行執行 gradle clean build 命令后的目錄結構:

輸出目錄名稱變成了out,但是out中的編譯生成文件目錄等都按照了標準生成 

  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)

通過上面兩個簡單的java項目(基于約定由于配置構建項目 和 靈活定制構建項目)構建能夠很明了的提現gradle基于約定構建的簡單快速和制定構建的靈活

5、gradle優缺點

優點:基本結合了以往項目構建工具(ant和maven)的所有優點,是構建工具的首選

缺點:相對較高的理解學習成本

6、gradle的特性

gradle使用groovy作為腳本語言的構建工具,而groovy是基于jvm的動態語言,它對java有著先天的兼容性,你甚至可以在構建腳本中編寫java程序。

gradle不像ant和maven那樣使用xml編寫腳本,它使用的是groovy,這意味著你在編寫腳本的時候更像是在寫程序,而不是編寫充滿尖括號又不好閱讀xml文件。

gradle像maven一樣遵循約定優于配置的原則,也就是說你的項目只要按照標準約定搭建起來,你只需要做簡單的配置就可以構建你的項目了。

gradle支持現有的maven倉庫,所以你可以很方面地利用maven上的所有庫。

gradle支持依賴傳遞,也就是說當a庫依賴b庫的時候,你只需要引用a庫就可以了,gradle會自動幫你依賴b庫。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/u010950924/article/details/83035450

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女脱一光二净的视频 | 成人午夜爽爽爽免费视频 | 国产精品一区二区不卡的视频 | 欧美视频精品一区二区三区 | 免费精品国产在线观看 | 国产精品在线 | 国产精品青青青高清在线观看 | 操操小说| 乌克兰13一14娇小 | 臀控福利大臀的网站 | 国产在线观看精品香蕉v区 国产在线观看a | 欧美图片另类小说综合 | 亚洲 日本 中文字幕 制服 | 91在线 在线播放 | 99视频在线观看免费视频 | 91九色麻豆 | a亚洲天堂| 欧美free激情野战hd | 亚洲国产在线2o20 | 欧美国产日韩综合 | yjsp妖精视频在线观看免费 | 暗卫调教女主肉高h | 国产一级毛片潘金莲的奶头 | 俄罗斯女同和女同xx | 热99精品| 久久全国免费观看视频 | 精品麻豆 | 久久国产综合精品欧美 | 韩国黄色网址 | 国产精品一级片 | videojapan日本孕交孕 | 激情视频在线播放 | 欧美一区二区三区免费不卡 | 黄动漫车车好快的车车双女主 | 国产一区二区三区在线 | 青青草原影院 | 热99精品 | 亚洲 综合 欧美在线视频 | 国产成人刺激视频在线观看 | 亚洲AV无码国产精品色在线看 | 免费看片黄色 |