溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于IDEA里gradle配置的方法是什么

發(fā)布時間:2020-07-08 11:42:14 來源:億速云 閱讀:298 作者:清晨 欄目:開發(fā)技術(shù)

這篇文章主要介紹關(guān)于IDEA里gradle配置的方法是什么,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

前言

有人說Gradle使用groovy語言編寫,簡單,明了沒像maven使用xml臃腫,其實我倒不覺得,我覺得maven挺好的,管理jar依賴和項目生命周期挺方便的,我使用gradle只是因為公司用,不然我估計不會學(xué)習(xí)gradle。下面是gradle的優(yōu)點,自己斟酌吧。
1. 按約定聲明構(gòu)建和建設(shè);
2. 強(qiáng)大的支持多工程的構(gòu)建;
3. 強(qiáng)大的依賴管理(基于Apache Ivy),提供最大的便利去構(gòu)建工程;
4. 全力支持已有的 Maven 或者Ivy倉庫基礎(chǔ)建設(shè);
5. 支持傳遞性依賴管理,在不需要遠(yuǎn)程倉庫和pom.xml和ivy配置文件的前提下;
6. 基于groovy腳本構(gòu)建,其build腳本使用groovy語言編寫;
7. 具有廣泛的領(lǐng)域模型支持構(gòu)建;
8. 深度 API;
9. 易遷移;
10. 自由和開放源碼,Gradle是一個開源項目,基于 ASL 許可。

Windows環(huán)境IDEA配置

gradle配置系統(tǒng)環(huán)境變量

為了使用gradle命令,idea里使用不了命令。比如編譯命令gradle build

下載

gradle安裝包下載地址,解壓到“D:\soft\gradle\gradle-4.8

配置環(huán)境變量

打開環(huán)境配置,新建系統(tǒng)環(huán)境“GRADLE_HOME”,值為D:\soft\gradle\gradle-4.8,找到path變量,后面添加%GRADLE_HOME%\bin;

測試

在cmd命令里輸入gradle -v如果能打出版本號,說明環(huán)境配置完畢。

idea配置

在D盤新建文件.gradle(使用dos命令mkdir .gradle ),做為gradle下載的jar包倉庫主目錄,默認(rèn)在C:\Users\Administrator\.gradle.

打開file->setting->Build,Execution,Deployment->Gradle,修改如下:

關(guān)于IDEA里gradle配置的方法是什么 

Gradle home指定了gradle文件目錄

Service directory path指定了gradle工作主目錄

gradle倉庫設(shè)置

建議如下設(shè)置

repositories {
  mavenLocal()
  maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
  mavenCentral()
  jcenter()
  maven { url "https://repo.spring.io/snapshot" }
  maven { url "https://repo.spring.io/milestone" }
  maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' } //轉(zhuǎn)換pdf使用
}

存儲庫只是文件的集合,按分組,名稱和版本來組織構(gòu)造。 默認(rèn)情況下,Gradle不定義任何存儲庫。 這里使用repositories 指定存儲庫。

mavenLocal():指定使用maven本地倉庫,而本地倉庫在配置maven時setting文件指定的倉庫位置。如<localRepository>D:/repository</localRepository>,同時將setting文件拷貝到C:\Users\Administrator\.m2目錄下,一般該目錄下是沒有setting文件的,gradle查找jar包順序如下:gradle默認(rèn)會按以下順序去查找本地的倉庫:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository。

maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}:指定阿里云鏡像加速地址
mavenCentral():這是Maven的中央倉庫,無需配置,直接聲明就可以使用

jcenter():JCenter中央倉庫,實際也是是用的maven搭建的,但相比Maven倉庫更友好,通過CDN分發(fā),并且支持https訪問。
后面的maven { url 地址},指定maven倉庫,一般用私有倉庫地址或其它的第三方庫

gradle按配置順序?qū)ふ襧ar文件。如果本地存在就不會再去下載。不存在的再去maven倉庫下載,這里注意下載下來的jar文件不在maven倉庫里,而是在gradle的主工作目錄下,如上面的D:\.gradle目錄
參考《Gradle實戰(zhàn)》如何配置利用Maven本地倉庫

構(gòu)建命令

清理命令

gradle clean

構(gòu)建打包命令

gradle clean build

編譯時跳過測試,使用-x,-x參數(shù)用來排除不需要執(zhí)行的任務(wù)

gradle clean build -x test

創(chuàng)建緩存依賴

執(zhí)行命令gradle clean build --refresh-dependencies或刪除.gradle/caches目錄,構(gòu)建的時候它會下載所有依賴并加入到緩存中。

阿里云鏡像

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

參考gradle配置國內(nèi)鏡像gradle.build構(gòu)建腳本

build.gradle是Gradle默認(rèn)的構(gòu)建腳本文件,執(zhí)行Gradle命令的時候,會默認(rèn)加載當(dāng)前目錄下的build.gradle腳本文件。
gradle.build腳本如下:

buildScript {
  repositories {
     mavenCentral()
  }
}

repositories {
   mavenCentral()
}

buildScript里的repositories是這個腳本需要的依賴庫,與項目無關(guān),在執(zhí)行腳本時,會從這個庫里download對應(yīng)的jar和插件。第二個repositories是項目里需要依賴的jar的庫。

查看項目已定義的所有task以及含義

命令

gradle tasks

比如結(jié)果如下

  • assemble: 編譯
  • build:編譯并執(zhí)行測試
  • clean:刪除build目錄
  • jar: 生成jar包
  • test:執(zhí)行單元測試

maven項目轉(zhuǎn)換為gradle項目

根目錄執(zhí)行

gradle init --type pom

上面的命令會根據(jù)pom文件自動生成gradle項目所需的文件和配置,然后以gradle項目重新導(dǎo)入即可。

settings.gradle配置

是模塊Module配置文件,大多數(shù)setting.gradle的作用是為了配置子工程,根目錄下的settings.gradle腳本文件是針對module的全局配置,它的作用域所包含的所有module是通過settings.gradle來配置。
settings.gradle用于創(chuàng)建多Project的Gradle項目。Project在IDEA里對應(yīng)Module模塊。
例如配置module名rootProject.name = 'DyoonPLM'

以上是關(guān)于IDEA里gradle配置的方法是什么的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI