亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺析IDEA如何正確配置Gradle? GRADLE_USER_HOME 和 Gradle user home的區(qū)別

 更新時間:2020年08月07日 17:29:07   作者:minwang362  
這篇文章主要介紹了IDEA如何正確配置Gradle? GRADLE_USER_HOME 和 Gradle user home的區(qū)別,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

緣起

網(wǎng)上已經(jīng)有了如此多的IDEA配置Gradle的文章,為何本菜鳥還想再寫一篇這樣的水文呢? 原因是按照網(wǎng)上大多數(shù)的配置,Gradle并不能按照你的想法很好的工作,倒不是說根據(jù)其他大佬的博客不能構(gòu)建,而是你在構(gòu)建時會發(fā)現(xiàn)IDEA使用的Gradle版本并不是wrapper中指定的版本。

目標(biāo)

正確配置IDEA(2019.2.4), 使得在Terminal中執(zhí)行以gradlew開頭命令和操作圖形化的IDEA使用Gradle版本是同一個版本。

在這里插入圖片描述在這里插入圖片描述

GRADLE_USER_HOME和Gradle user home的區(qū)別

GRADLE_USER_HOME

  • GRADLE_USER_HOME指的是你需要配置的環(huán)境變量。該環(huán)境變量決定了執(zhí)行 project/gradle/gradle-rapper.jar時下載 project/gradle/gradle-wrapper.properties中指定版本gradle的存放位置。
  • 簡言之:在命令行中輸入的以gradlew的開頭的命令會使用GRADLE_USER_HOME指定環(huán)境變量所在位置來存放下載的gradle.
  • 注意:必須是gradlew開頭的命令,不能是gradle開頭的命令。原因是gradlew開頭的命令說明你想使用gradle wrapper, 而gradle開頭的命令則是使用的你配置在環(huán)境變量當(dāng)中的gradle,這兩個是不一樣的

在這里插入圖片描述

Gradle user home

  • Gradle user home指的是IDEA中關(guān)于gradle的配置,該配置指是給IDEA使用的,當(dāng)你在IDEA中點(diǎn)擊gradle相關(guān)的圖形按鈕時,譬如gradle構(gòu)建任務(wù)的按鈕或者是Enable-AutoImport按鈕時會使用Gradle user home指定的目錄下載project/gradle/gradle-wrapper.properties指定的gradle版本
  • 簡言之:在IDEA中的各種圖形化操作都是使用這個目錄去保存下載的gradle。

在這里插入圖片描述在這里插入圖片描述

IDEA Gradle user home的坑

Gradle user home配置的不好的話是有一個大坑的,按照網(wǎng)上大多數(shù)的配置都會踩到這個坑,而且極不容易被發(fā)現(xiàn)。
這個坑的現(xiàn)象是:你在Terminal中輸入的gradlew的任何命令使用的gradle版本和IDEA中圖形化操作使用的gradle版本是不一致的。

造成這個坑的必要條件:

1、你下載了一個版本的Gradle版本,并且按照網(wǎng)上的博客配置了Gradle環(huán)境變量。
2、你在IDEA中配置了Gradle user home,并且該把該目錄指向了你在本地自己下載解壓的gradle。

如果你按照上面的配置,并且你自己單獨(dú)下載的gradle和project/gradle/gradle-wrapper.properties中指定版本不一致時,你在IDEA中的Terminal中執(zhí)行和點(diǎn)擊IDEA圖形按鈕的版本并不一致。

在這里插入圖片描述

如何驗證這個坑?

可以在你下載的gradle/init.d目錄中寫一個名為 init.gradle的腳本。你需要在三個地方寫這個腳本,一個是你自己單獨(dú)下載的gradle,一個是GRADLE_USER_HOME中下載的gradle版本,一個是IDEA Gradle user home指定目錄中下載的grald中都加上,你就能清晰的看出到底當(dāng)前使用的是那個gradle.

allprojects {
	println "using gradle wrapper v5.6.4 version!!!"
}

最終解決方案

  • 第一種解決方案,不下載Gradle,不配置關(guān)于Gradle的任何的環(huán)境變量,不配置IDEA的Gradle user home這種方式對于向使用Gradle的小白來說比較方便。此時你創(chuàng)建IDEA工程時,IDEA會自動下載工程目錄下gradle/gradle-wrapper.properties中指定的Gradle版本到你的家目錄的 .gradle目錄下。
  • 實(shí)際上使用Gradle的確不需要自己額外安裝一個Gradle,gradle的設(shè)計者考慮到gradle會頻繁的升級因此每個gradle工程會帶有一個gradle的目錄,這個目錄主要作用就是描述當(dāng)前工程需要哪個版本的gradle,以及如何下載gradle. 因此你拿到別人的gradle項目,即使本機(jī)沒有安裝gradle,當(dāng)你執(zhí)行以gradlew開頭的命令時會自行下載這個項目想要的gradle版本。

第二種方案:如果你想自己安裝gradle,并且所有的工程都使用你自己單獨(dú)安裝的gradle。

  • 配置Gradle的環(huán)境變量,使得在任意的路徑下可以執(zhí)行g(shù)radle的可執(zhí)行文件。
  • 配置GRADLE_USER_HOME和IDEA 中的 Gradle user home路徑,這里的路徑實(shí)際上可以不指定。- 可選操作
  • 配置 User from gradle指向安裝的gradle:

在這里插入圖片描述

第三種解決方案,配置單獨(dú)的gradle,并且工程默認(rèn)使用gradle wrapper.

  • 配置Gradle的環(huán)境變量,使得在任意的路徑下可以執(zhí)行g(shù)radle的可執(zhí)行文件。
  • 配置GRADLE_USER_HOME和IDEA 中的 Gradle user home路徑,這里的路徑實(shí)際上可以不指定。

注意:如果想要指定Gradle user home,那么一定不要配置為你安裝的gradle所在目錄,否則即使制定了user gradle from : gradle-wrapper.properties也不起作用,此時IDEA圖形化的操作只會使用你在外面配置的gradle,而不會使用gradle wrapper,即項目指定的gradle。

  • 配置 User gradle frome: gradle-wrapper.properties:

在這里插入圖片描述

到此這篇關(guān)于IDEA如何正確配置Gradle? GRADLE_USER_HOME 和 Gradle user home的區(qū)別的文章就介紹到這了,更多相關(guān)IDEA配置Gradle內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中的實(shí)體類時間格式化

    java中的實(shí)體類時間格式化

    這篇文章主要介紹了java中的實(shí)體類時間格式化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java連接MySQL數(shù)據(jù)庫實(shí)例

    Java連接MySQL數(shù)據(jù)庫實(shí)例

    這篇文章介紹了Java連接MySQL數(shù)據(jù)庫實(shí)例的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • SpringBoot程序的打包與運(yùn)行的實(shí)現(xiàn)

    SpringBoot程序的打包與運(yùn)行的實(shí)現(xiàn)

    本文主要介紹了SpringBoot程序的打包與運(yùn)行的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 簡述Java編程語言中的逃逸分析

    簡述Java編程語言中的逃逸分析

    這篇文章主要介紹了簡述Java編程語言中的逃逸分析,包括其定義、作用、類型及理論基礎(chǔ)等相關(guān)內(nèi)容,十分具有參考價值,需要的朋友可以了解下。
    2017-09-09
  • SpringBatch跳過異常和限制方式

    SpringBatch跳過異常和限制方式

    這篇文章主要介紹了SpringBatch跳過異常和限制方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java 中序列化與readResolve()方法的實(shí)例詳解

    java 中序列化與readResolve()方法的實(shí)例詳解

    這篇文章主要介紹了java 中序列化與readResolve()方法的實(shí)例詳解的相關(guān)資料,這里提供實(shí)例幫助大家理解這部分知識,需要的朋友可以參考下
    2017-08-08
  • 使用Java實(shí)現(xiàn)驗證碼程序

    使用Java實(shí)現(xiàn)驗證碼程序

    這篇文章主要為大家詳細(xì)介紹了使用Java實(shí)現(xiàn)驗證碼程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • java發(fā)送郵件示例講解

    java發(fā)送郵件示例講解

    這篇文章主要為大家詳細(xì)介紹了java發(fā)送郵件示例的全過程,溫習(xí)郵件協(xié)議,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • springboot使用EMQX(MQTT協(xié)議)的實(shí)現(xiàn)

    springboot使用EMQX(MQTT協(xié)議)的實(shí)現(xiàn)

    最近由于iot越來越火, 物聯(lián)網(wǎng)的需求越來越多, 那么理所當(dāng)然的使用mqtt的場景也就越來越多,本文主要介紹了springboot使用EMQX(MQTT協(xié)議)的實(shí)現(xiàn),感興趣的可以了解一下
    2023-10-10
  • 通過FeignClient如何獲取文件流steam?is?close問題

    通過FeignClient如何獲取文件流steam?is?close問題

    這篇文章主要介紹了通過FeignClient如何獲取文件流steam?is?close問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論