有人說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 許可。spring
爲了使用gradle命令,idea裏使用不了命令。好比編譯命令gradle build
windows
gradle安裝包下載地址,解壓到「D:\soft\gradle\gradle-4.8
」緩存
打開環境配置,新建系統環境「GRADLE_HOME」,值爲D:\soft\gradle\gradle-4.8
,找到path變量,後面添加%GRADLE_HOME%\bin;
。maven
在cmd命令裏輸入gradle -v
若是能打出版本號,說明環境配置完畢。ide
在D盤新建文件.gradle
(使用dos命令mkdir .gradle
),作爲gradle下載的jar包倉庫主目錄,默認在C:\Users\Administrator\.gradle
.
打開file->setting->Build,Execution,Deployment->Gradle,修改以下: Gradle home
指定了gradle文件目錄 Service directory path
指定了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
清理命令ui
gradle clean
構建打包命令阿里雲
gradle clean build
執行命令gradle clean build --refresh-dependencies
或刪除.gradle/caches目錄,構建的時候它會下載全部依賴並加入到緩存中。
build.gradle是Gradle默認的構建腳本文件,執行Gradle命令的時候,會默認加載當前目錄下的build.gradle腳本文件。
gradle.build腳本以下:
buildScript { repositories { mavenCentral() } } repositories { mavenCentral() }
buildScript裏的repositories是這個腳本須要的依賴庫,與項目無關,在執行腳本時,會從這個庫裏download對應的jar和插件。第二個repositories是項目裏須要依賴的jar的庫。
是模塊Module配置文件,大多數setting.gradle的做用是爲了配置子工程,根目錄下的settings.gradle腳本文件是針對module的全局配置,它的做用域所包含的全部module是經過settings.gradle來配置。
settings.gradle用於建立多Project的Gradle項目。Project在IDEA裏對應Module模塊。
例如配置module名rootProject.name = 'DyoonPLM'