1. 程式人生 > >【gradle】 buildScript塊、allprojects塊、根級別三種所屬的repositories區別

【gradle】 buildScript塊、allprojects塊、根級別三種所屬的repositories區別

一直對為什麼buildScript塊裡定義了repositories而allprojects段或根還定義repositories沒有思考過,偶然有了念頭想要探究一下。

build.gradle
buildscript {  
     repositories {
         ...
     }
     dependencies {
         ...
     }
}
build.gradle
allprojects { 
     repositories {
         ...
     }
     dependencies {
         ...
     }
}
build.gradle
repositories {
     ...
}
dependencies {
     ...
}


buildScript塊的repositories主要是為了Gradle指令碼自身的執行,獲取指令碼依賴外掛。我在寫的一篇部落格《嘗試Artifactory》中Gradle指令碼需要com.jfrog.artifactory外掛才能執行成功,而這個外掛是從URL為https://plugins.gradle.org/m2/的Maven倉庫獲得。

根級別的repositories主要是為了當前專案提供所需依賴包,比如log4j、spring-core等依賴包可從mavenCentral倉庫獲得。

allprojects塊的repositories用於多專案構建,為所有專案提供共同所需依賴包。而子專案可以配置自己的repositories以獲取自己獨需的依賴包。


參考

轉載自:http://blog.sina.com.cn/s/blog_72ef7bea0102vvg3.html