日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gradle使用

發布時間:2024/4/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gradle使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

gradle介紹

java的源碼構建工具,大致經歷了 ant -> maven -> gradle 這個過程,每一次進步,都是在解決之前的工具所帶來的問題,簡單來說:

  • ant 功能雖然也很強大,但是過于靈活,規范性不足,對目錄結構及build.xml沒有默認約定 ,10個程序員做同樣的項目,可能最終出來的10個項目,目錄結構和build.xml都不相同,而且沒有統一的依賴項管理。

  • maven的出現,解決了規范的問題,也順帶解決了依賴項統一管理的問題,但是規范性又太強了,基本上可以認為是一種強規范,用久了之后,感覺靈活性顯略不足,而且pom.xml采用xml結構,項目大了,xml就有些冗長。

  • gradle則是綜合了ant與maven的優點,吸收了ant中task的思想,然后把maven的目錄規范及倉庫思想也融合進來了,但是允許用戶自由修改默認的規范(比如:源代碼目錄可以自己指定),另外配置文件采用groovy語言來書寫(格式初看上去有點類似json,比較精減),注意:groovy是一門真正的【可編程】語言,而不是象css、html之類的標記性「符號」,所以從這個意義上講,配置文件build.gradle本身就是一份源代碼,這份源代碼,最終交由gradle來處理執行,完成代碼的構建工作。

  • gradle的發展速度之快,是ant 與 maven所不能比擬的,看下gradle官網的文檔就能感受到了,一個新興的工具文檔如此之齊全,可見大家對它的認可程度。

    gradle安裝

    下載壓縮包,解壓即可。

    配置環境變量:

    GRADLE_HOME:gradle安裝路徑,PATH中加入 %GRADLE_HOME%\bin;

    GRADLE_USER_HOME:倉庫路徑

    gradle命令

    • 幫助命令
      gradle --help

    • 查看版本
      gradle -v

    • 執行特定的任務
      gradle [taskName]

    • 構建
      gradle build

    • 跳過測試構建構建
      gradle build -x test

    • 繼續執行任務而忽略前面失敗的任務
      gradle build --continue

    • 試運行build
      gradle -m build

    • 產生build運行時間的報告
      gradle build --profile
      結果存儲在build/report/profile目錄,名稱為build運行的時間。

    • 顯示任務間的依賴關系
      gradlle tasks --all

    • 查看testCompile的依賴關系
      gradle -q dependencies --configuration testCompile

    • 清空所有編譯、打包生成的文件(即:清空build目錄)
      gradle clean

    • 使用指定的Gradle文件調用任務
      gradle -b [file_path] [task]

    • 使用指定的目錄調用任務
      gradle -q -p [dir] helloWorld

    • Gradle的圖形界面
      gradle --gui

    Gradle的命令日志輸出有ERROR(錯誤信息)、QUIET(重要信息)、WARNGING(警告信息)、LIFECYLE(進程信息)、 INFO(一般信息)、DEBUG (調試信息)一共6個級別。在執行Gradle任務是可以適時地調整信息輸出等級,以方便地觀看執行結果。

    • -q/–quit 啟用重要信息級別,改級別下只會輸出自己在命令行下打印的信息及錯誤信息。
    • -i/–info 會輸出除DEBUG以外的所有信息。
    • -d/–dubug 會輸出所有日志信息。
    • -s/–stacktrace 會輸出詳細的錯誤堆棧。

    gradle問題

    下載倉庫慢

    如果Gradle在編譯的時候沒有在本地倉庫中發現依賴,就會從遠程倉庫中下載,默認的遠程倉庫為mavenCentral(),也就是http://repo1.maven.org/maven2/,但是往往訪問速度特別慢,不翻墻經常會下載超時或者需要很長時間導致Build失敗,因此,可以用國內的倉庫代替:

    • 阿里的倉庫地址:http://maven.aliyun.com/nexus/content/groups/public/
    • OSChina的倉庫地址:http://maven.oschina.net/content/groups/public/

    修改單獨項目

    在項目的build.gradle文件中,修改repositories配置
    由:

    repositories {mavenCentral()}

    改為:

    repositories {maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}}

    或:

    repositories {maven{ url 'http://maven.oschina.net/content/groups/public/'}}

    這樣就可以從國內的鏡像中下載依賴,速度能提高不少

    注意:

    • build.gradle文件里有兩處repositories,都需要改掉
    • 阿里云的速度比較快,更穩定

    更改所有項目

    如果想一次更改所有的倉庫地址,可以在USER_HOME/.gradle/(如C:\Users\hellowood\.gradle)文件夾下添加init.gradle文件來配置

    • init.gradle
    allprojects{repositories {def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'all { ArtifactRepository repo ->if(repo instanceof MavenArtifactRepository){def url = repo.url.toString()if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {remove repo}}}maven {url REPOSITORY_URL}} }

    這樣就可以在項目編譯的時候從阿里的倉庫中下載依賴了

    • init.build腳本可以參考 https://docs.gradle.org/current/userguide/init_scripts.htm

    總結

    以上是生活随笔為你收集整理的gradle使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。