91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

gradle和gradlew的區(qū)別?

哆啦安全 ? 來源:哆啦安全 ? 作者:哆啦安全 ? 2022-12-13 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用Gradle開發(fā)者最常問的問題之一便是:gradlegradlew的區(qū)別?。

這兩個(gè)都是應(yīng)用在特定場(chǎng)景的 Gradle 命令。通過本篇文章你將了解到每個(gè)命令干了什么,以及如何在兩個(gè)命令中做選擇。

快速摘要

如果你正在開發(fā)的項(xiàng)目當(dāng)中已經(jīng)包含gradlew腳本,安啦,可以一直使用它。沒有包含的話,請(qǐng)使用gradle命令生成這個(gè)腳本。

想知道為什么嗎,請(qǐng)繼續(xù)閱讀。

gradle 命令

如果你從 Gradle 官網(wǎng)(https://gradle.org/releases)下載和安裝了 Gradle 的話,你便可以使用安裝在 bin 路徑下的 gradle 命令了。當(dāng)然你記得將該 bin 路徑添加到設(shè)備的 PATH 環(huán)境變量中。

此后,在終端上運(yùn)行gradle的話,你會(huì)看到如下輸出:

4deabc3e-7a86-11ed-8abf-dac502259ad0.png

你會(huì)注意到輸出里打印了 Gradle 的版本,它對(duì)應(yīng)著你運(yùn)行的 gradle 命令在設(shè)備中的 Gradle 安裝包版本。這聽起來有點(diǎn)廢話,但在談?wù)?gradlew 的時(shí)候需要明確這點(diǎn),這很重要。

通過這個(gè)本地安裝的 Gradle,你可以使用 gradle 命令做很多事情,包括:

  • 使用gradle init命令創(chuàng)建一個(gè)新的 Gradle 項(xiàng)目或者使用gradle wrapper命令創(chuàng)建 gradle wrapper 目錄及文件
  • 在一個(gè) Gradle 項(xiàng)目內(nèi)使用gradle build命令進(jìn)行 Gradle 編譯
  • 通過gradle tasks命令查看當(dāng)前的 Gradle 項(xiàng)目中支持哪些 task

上述的命令均使用你本地安裝的 Gradle 程序,無論你安裝的是什么版本。

如果你使用的是 Windows 設(shè)備,那么 gradle 命令等同于 gradle.bat,gradlew 命令等同于 gradlew.bat,非常簡單。

gradlew 命令

gradlew命令,也被了解為Gradle wrapper,與 gradle 命令相比它是略有不同的。它是一個(gè)打包在項(xiàng)目內(nèi)的腳本,并且它參與版本控制,所以當(dāng)年復(fù)制了某項(xiàng)目將自動(dòng)獲得這個(gè)gradlew腳本。

“可那又如何?”

好吧,如果你這么想。讓我告訴你,它有很多重要的優(yōu)勢(shì)。

1. 無需本地安裝 gradle

gradlew腳本不依賴本地的 Gradle 安裝。在設(shè)備上第一次運(yùn)行的時(shí)候會(huì)從網(wǎng)絡(luò)獲取 Gradle 的安裝包并緩存下來。這使得任何人、在任何設(shè)備上,只要拷貝了這個(gè)項(xiàng)目就可以非常簡單地開始編譯。

2. 配置固定的 gradle 版本

這個(gè)gradlew腳本和指定的 Gradle 版本進(jìn)行綁定。這非常有用,因?yàn)檫@意味著項(xiàng)目的管理者可以強(qiáng)制要求該項(xiàng)目編譯時(shí)應(yīng)當(dāng)使用的 Gradle 版本。

Gradle 特性并不總是互相兼容各版本的,所以使用 Gradle wrapper 可以確保項(xiàng)目每次編譯都能獲得一致性的結(jié)果。

當(dāng)然這需要編譯項(xiàng)目的人使用gradlew命令,如下是在項(xiàng)目內(nèi)運(yùn)行./gradlew的示例:

4e004ff4-7a86-11ed-8abf-dac502259ad0.png

輸出和運(yùn)行gradle命令的結(jié)果比較相似。但仔細(xì)查看你會(huì)發(fā)現(xiàn)版本不一樣,不是上面的6.8.2而是6.6.1。

這個(gè)差異說重要也重要,說不重要也不重要。

但當(dāng)使用gradlew的話可以免于擔(dān)心由于 Gradle 版本導(dǎo)致的不一致性,緣自它可以保證所有的團(tuán)隊(duì)成員以及 CI 服務(wù)端都會(huì)使用相同的 Gradle 版本來構(gòu)建這個(gè)項(xiàng)目。

另外,幾乎所有使用gradle命令可以做的事情,你也可以使用gradlew來完成。比如編譯一個(gè)項(xiàng)目就是./gradlew build

如果你愿意的話,可以拷貝示例項(xiàng)目并來試一下gradlew。

https://github.com/tkgregory/spring-boot-api-example.git

gradle 和 gradlew 對(duì)比

至此你應(yīng)該能看到在項(xiàng)目內(nèi)使用gradlew通常是最佳選擇。確保gradlew腳本受到版本控制,這樣的話你以及其他開發(fā)者都可以收獲如上章節(jié)提到的好處。

但是,難道沒有任何情況需要使用gradle命令了嗎?當(dāng)然有。如果你期望在一個(gè)空目錄下搭建一個(gè)新的 Gradle 項(xiàng)目,你可以使用gradle init來完成。這個(gè)命令同樣會(huì)生成gradlew腳本。

(如下的表格簡單列出兩者如何選)可以說,使用gradlew確實(shí)是 Gradle 項(xiàng)目的最佳實(shí)踐。

你想做什么? gradle還是gradlew?
編譯項(xiàng)目 gradlew
測(cè)試項(xiàng)目 gradlew
項(xiàng)目內(nèi)執(zhí)行其他 Gradle task gradlew
初始化一個(gè) Gradle 項(xiàng)目或者生成 Gradle wrapper gradle

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3827

    瀏覽量

    83175
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    400

    瀏覽量

    28643
  • gradle
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    900

原文標(biāo)題:開發(fā)這么久,gradle 和 gradlew 啥區(qū)別、怎么選?

文章出處:【微信號(hào):哆啦安全,微信公眾號(hào):哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ArkUI-X應(yīng)用工程結(jié)構(gòu)說明

    .properties ├── gradlew ├── gradlew.bat └── settings.gradle iOS應(yīng)用工程結(jié)構(gòu) ArkUI-X iOS應(yīng)用工程 ├── app.xcodeproj
    發(fā)表于 06-19 23:11

    VGA和DP的具體區(qū)別

    VGA和DP是兩種常見的顯示接口,它們?cè)谠O(shè)計(jì)、性能和應(yīng)用方面有顯著區(qū)別。
    的頭像 發(fā)表于 05-14 16:36 ?1215次閱讀

    私有云和公有云有什么區(qū)別

    私有云和公有云在多個(gè)方面存在顯著的區(qū)別,以下是具體的比較,主機(jī)推薦小編為您整理發(fā)布私有云和公有云有什么區(qū)別。
    的頭像 發(fā)表于 02-20 10:38 ?793次閱讀

    ads1258 IRTCR和IRTCT的區(qū)別是什么?

    請(qǐng)教:ads1258 IRTCR和IRTCT的區(qū)別在哪?手冊(cè)里沒看明白,TCR和TCRG4的區(qū)別應(yīng)該是有鉛和無鉛。多謝
    發(fā)表于 01-10 10:23

    地埋光纜與架空光纜的區(qū)別

    地埋光纜與架空光纜在多個(gè)方面存在顯著差異,以下是對(duì)兩者區(qū)別的詳細(xì)闡述。
    的頭像 發(fā)表于 01-07 15:47 ?1809次閱讀

    FCCSP與FCBGA都是倒裝有什么區(qū)別

    本文簡單介紹了倒裝芯片球柵陣列封裝與倒裝芯片級(jí)封裝的概念與區(qū)別。 FCCSP與FCBGA都是倒裝,怎么區(qū)分?有什么區(qū)別?
    的頭像 發(fā)表于 11-16 11:48 ?4374次閱讀
    FCCSP與FCBGA都是倒裝有什么<b class='flag-5'>區(qū)別</b>

    輸入和輸出電壓的區(qū)別

    電子發(fā)燒友網(wǎng)站提供《輸入和輸出電壓的區(qū)別.pdf》資料免費(fèi)下載
    發(fā)表于 10-24 09:20 ?0次下載
    輸入和輸出電壓的<b class='flag-5'>區(qū)別</b>

    MIPI和LVDS顯示屏的區(qū)別

    MIPI和LVDS顯示屏的區(qū)別
    的頭像 發(fā)表于 09-23 10:02 ?4606次閱讀

    功放和運(yùn)放到底是什么區(qū)別

    想請(qǐng)問一下功放和運(yùn)放到底是什么區(qū)別,感覺只要接一個(gè)小負(fù)載,運(yùn)放的輸出電流也可以很大???到底有什么區(qū)別
    發(fā)表于 09-10 07:00

    交叉導(dǎo)軌和直線導(dǎo)軌的區(qū)別

    交叉導(dǎo)軌和直線導(dǎo)軌的區(qū)別
    的頭像 發(fā)表于 09-02 10:14 ?997次閱讀
    交叉導(dǎo)軌和直線導(dǎo)軌的<b class='flag-5'>區(qū)別</b>

    簡述功放和音響的區(qū)別

    功放和音響在音頻系統(tǒng)中扮演著不同的角色,它們之間存在著明顯的區(qū)別。以下將從本質(zhì)、配套設(shè)備、功能、實(shí)用性、價(jià)格等多個(gè)方面詳細(xì)闡述功放和音響的區(qū)別。
    的頭像 發(fā)表于 08-22 11:46 ?4487次閱讀

    請(qǐng)問LM2902與LM2902KV的區(qū)別是否只有供電電壓的區(qū)別?

    請(qǐng)問下LM2902與LM2902KV的區(qū)別是否只有供電電壓的區(qū)別?LM2904與LM2904V也是電壓的區(qū)別?
    發(fā)表于 08-22 06:20

    typedef struct和直接struct的區(qū)別

    在C語言中, typedef 和 struct 是兩種不同的關(guān)鍵字,它們?cè)诙x和使用上有著明顯的區(qū)別。 typedef struct 和直接 struct 在 C 語言中用于定義結(jié)構(gòu)體類型,但它們?cè)?/div>
    的頭像 發(fā)表于 08-20 10:58 ?3667次閱讀

    CPU的低功耗與高功耗的區(qū)別

    CPU的低功耗與高功耗之間存在多方面的區(qū)別,這些區(qū)別主要體現(xiàn)在功耗水平、性能表現(xiàn)、應(yīng)用場(chǎng)景、成本效益以及技術(shù)實(shí)現(xiàn)等多個(gè)維度。
    的頭像 發(fā)表于 08-07 15:43 ?7600次閱讀

    以太網(wǎng)端口和千兆端口的區(qū)別

    以太網(wǎng)端口和千兆端口在多個(gè)方面存在顯著的區(qū)別,這些區(qū)別主要體現(xiàn)在速度、應(yīng)用范圍、技術(shù)規(guī)格以及網(wǎng)絡(luò)性能等方面。
    的頭像 發(fā)表于 08-07 15:42 ?2539次閱讀
    主站蜘蛛池模板: 亚洲精品中文字幕乱码三区一二 | 天堂v网| 日操夜操天天操 | 很黄很污的视频网站 | 波多野结衣久久精品 | 国模龙园园私拍337p | 美女网色 | 草久久久久 | 欧美特黄一级视频 | 成人狠狠色综合 | 乱人伦精品一区二区 | 亚洲精品456| 天天干天天噜 | 你懂的在线观看网站 | 久久亚洲精品国产亚洲老地址 | 苦瓜se影院在线视频网站 | 2021国内精品久久久久影院 | 女人张开双腿让男人桶完整 | 欧美日韩高清一本大道免费 | 在线天堂中文字幕 | 亚洲综合久久综合激情久久 | dyav午夜片 | 精品四虎免费观看国产高清 | 亚洲视频在线一区 | 午夜视频免费 | 国产播放啪视频免费视频 | 黄色理伦 | 国产欧美一区二区三区观看 | 日本黄黄| 色多多网 | 一区二区三区在线免费 | 龙口护士门91午夜国产在线 | www.色五月| 免费国产成高清人在线视频 | 欧美激情伊人 | 午夜传媒 | h网站在线| 国产视频一二区 | 亚洲天天看 | 1024你懂的国产欧美日韩在 | 亚洲一卡二卡在线 |