在IDEA里gradle配置和使用


在IDEA里gradle配置和使用

前言

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


Windows環境IDEA配置gradle

配置系統環境變量

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

下載

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

配置環境變量

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

測試

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

idea配置

在D盤新建文件.gradle(使用dos命令mkdir .gradle ),做為gradle下載的jar包倉庫主目錄,默認在C:\Users\Administrator\.gradle.
打開file->setting->Build,Execution,Deployment->Gradle,修改如下:
這里寫圖片描述
Gradle home指定了gradle文件目錄
Service directory path指定了gradle工作主目錄


gradle倉庫設置

建議如下設置

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/' }  //轉換pdf使用
}
   
   
  
  
          

存儲庫只是文件的集合,按分組,名稱和版本來組織構造。 默認情況下,Gradle不定義任何存儲庫。 這里使用repositories 指定存儲庫。
mavenLocal():指定使用maven本地倉庫,而本地倉庫在配置maven時setting文件指定的倉庫位置。如<localRepository>D:/repository</localRepository>,同時將setting文件拷貝到C:\Users\Administrator\.m2目錄下,一般該目錄下是沒有setting文件的,gradle查找jar包順序如下:gradle默認會按以下順序去查找本地的倉庫: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分發,並且支持https訪問。
后面的maven { url 地址},指定maven倉庫,一般用私有倉庫地址或其它的第三方庫
gradle按配置順序尋找jar文件。如果本地存在就不會再去下載。不存在的再去maven倉庫下載,這里注意下載下來的jar文件不在maven倉庫里,而是在gradle的主工作目錄下,如上面的D:\.gradle目錄
參考《Gradle實戰》如何配置利用Maven本地倉庫


構建命令

清理命令

gradle clean
   
   
  
  
          

構建打包命令

gradle clean build
   
   
  
  
          

編譯時跳過測試,使用-x,-x參數用來排除不需要執行的任務

gradle clean build -x test
   
   
  
  
          

創建緩存依賴

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


阿里雲鏡像

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

參考gradle配置國內鏡像

gradle.build構建腳本

build.gradle是Gradle默認的構建腳本文件,執行Gradle命令的時候,會默認加載當前目錄下的build.gradle腳本文件。
gradle.build腳本如下:

buildScript { repositories { mavenCentral() }
}

repositories { mavenCentral() }
   
   
  
  
          

buildScript里的repositories是這個腳本需要的依賴庫,與項目無關,在執行腳本時,會從這個庫里download對應的jar和插件。第二個repositories是項目里需要依賴的jar的庫。


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

命令

gradle tasks
   
   
  
  
          

比如結果如下

  • assemble: 編譯
  • build:編譯並執行測試
  • clean:刪除build目錄
  • jar: 生成jar包
  • test:執行單元測試

maven項目轉換為gradle項目

根目錄執行

gradle init --type pom
   
   
  
  
          
  
  
 
 
         
  • 1

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


settings.gradle配置

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

參考Gradle 入門–只此一篇
參考你真的了解 Gradle 嗎?

原文地址:https://blog.csdn.net/achenyuan/article/details/80682288


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM