在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
上面的命令會根據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'
相關文章
- idea 中配置GradleIdeaGradle
- 安裝 gradle 及如何在idea 配置 gradleGradleIdea
- 使用IDEA建立gradle專案IdeaGradle
- idea使用gradle搭建SpringBootIdeaGradleSpring Boot
- 【SpringBoot學習筆記】-IDEA中使用gradle和MybatisSpring Boot筆記IdeaGradleMyBatis
- 配置IDEA和STRUTSIdea
- Mac 安裝和配置gradleMacGradle
- 在idea中用gradle在settings.gradle中用include匯入一個模組後如何自動生成相應的模組和目錄IdeaGradle
- 在 IDEA 中配置 Struts2Idea
- IDEA使用Gradle構建SpringBoot專案工程IdeaGradleSpring Boot
- IDEA如何配置git和githubIdeaGithub
- 在 Ubuntu 裡如何下載、安裝和配置 Plank DockUbuntu
- idea gradle 專案依賴IdeaGradle
- IDEA建立Gradle工程-實踐IdeaGradle
- 在Intellij IDEA中如何配置MavenIntelliJIdeaMaven
- Gradle裡配置jetty實現靜態資源的熱部署GradleJetty熱部署
- IDEA中配置Git,在Github上clone專案到IDEAIdeaGithub
- Gradle中使用idea外掛的一些實踐GradleIdea
- 在微信小程式裡使用 watch 和 computed微信小程式
- Gradle-AS配置Gradle
- Mac 配置 gradleMacGradle
- Gradle常用配置Gradle
- Nacos在父子工程裡的配置
- 使用idea新建springBoot+Gradle專案(超詳細)IdeaSpring BootGradle
- 在 Flutter 裡使用 StreamFlutter
- 在React裡使用”Vuex”ReactVue
- 在Fragment裡使用viewpagerFragmentViewpager
- 在Linux中,如何配置和使用Xen?Linux
- EAS.Net 在程式裡配置元件元件
- 在Gradle中使用jaxb的xjc外掛Gradle
- Gradle配置lintOptionsGradle
- Gradle模組化配置:讓你的gradle程式碼控制在100行以內Gradle
- IntelliJ IDEA關聯gradle原始碼IntelliJIdeaGradle原始碼
- IDEA建立SpringMVC+Gradle專案IdeaSpringMVCGradle
- IntelliJ IDEA 建立Gradle/Java 專案IntelliJIdeaGradleJava
- Gradle系列(三) Gradle配置構建和渠道包Gradle
- Gradle系列之Android Gradle基礎配置GradleAndroid
- IDEA的使用(1):IDEA的安裝和破解Idea