1.啟用init.gradle文件的方法
- 在命令置頂文件,例如gradle --init-script yourdir/init.gradle -q taskName,你可以多次輸入此命令來制定多個init文件
- 把init.gradle文件放到USER_HOME/.gradle/目錄下
- 把以.gradle結尾的文件放到USER_HOME/.gradle/.init.d/目錄下
- 把以.gradle結尾的文件放到GRADLE_HOME/init.d目錄下
如果存在上面的4種方式的2種以上,gradle會按上面的1-4序號依次執行文件,如果給定目錄下存在多個init腳本,會按拼音a-z順序執行這些腳本,每個init腳本都存在一個對應的gradle實例,你在這個文件中調用的所有方法和屬性,都會委托給這個gradle實例,每個init腳本都實現了Script接口。
2.倉庫地址說明
mavenLocal():指定使用maven本地倉庫,而本地倉庫在配置maven時settings文件制定的倉庫位置。如E:/repositiory,gradle查找jar包順序如下,USER_HOME/.m2/settings,xml
->M2_HOME/conf/settings,xml ->USER_HOME/.m2/repository
- maven{url 地址} ,指定maven倉庫,一般用私有倉庫地址或者其他的第三方庫【比如阿里景象倉庫地址】。
- mavenCentral(): 這是Maven的中央倉庫,無需配置,直接聲明就可以使用。
- jcenter(): jCtenter中央倉庫,時機也是用的maven搭建的,但相比Maven倉庫更友好,通過CDN分發,并且支持https訪問,在新版本中已經廢棄,替換為mavenCentral()
總之,gradle可以通過指定倉庫地址為本地maven倉庫地址和遠程倉庫地址相結合的方式,避免每次都會去遠程倉庫下載依賴庫,這種方式也有一定的問題,如果本地maven倉庫有這個依賴,就會直接加載本地依賴,如果本地倉庫沒有改依賴,那么還是會從遠程下載。但是下載的jar不是存儲在本地maven倉庫中,而是放在自己的緩存目錄中,默認在USER_HOME/.gradle/.cache目錄,當然如果我們配置過GRADLE_USER_HOME環境變量,則會放在GRADLE_USER_HOME/cache目錄,那么可不可以將gradle caches指向maven repository。我們說這是不行的,caches下載文件不是按照maven倉庫中存放的方式,