Gradle支持下面三種不同類型的倉庫:
http://wiki.jikexueyuan.com/project/gradleIn-action/images/5-8.png" alt="" />
下圖是配置不同倉庫對(duì)應(yīng)的Gradle API:
http://wiki.jikexueyuan.com/project/gradleIn-action/images/5-9.png" alt="" />
下面以Maven倉庫來介紹,Maven倉庫是Java項(xiàng)目中使用最為廣泛的一個(gè)倉庫,庫文件一般是以JAR文件的形式存在,用XML(POM文件)來來描述庫的元數(shù)據(jù)和它的傳遞依賴。所有的庫文件都存儲(chǔ)在倉庫的指定位置,當(dāng)你在構(gòu)建腳本中聲明了依賴時(shí),這些屬性用來找到庫文件在倉庫中的準(zhǔn)確位置。group屬性標(biāo)識(shí)了Maven倉庫中的一個(gè)子目錄,下圖展示了Cargo依賴屬性是怎么對(duì)應(yīng)到倉庫中的文件的:
http://wiki.jikexueyuan.com/project/gradleIn-action/images/5-10.png" alt="" />
RepositoryHandler接口提供了兩個(gè)方法來定義Maven倉庫,mavenCentral方法添加一個(gè)指向倉庫列表的引用,mavenLocal方法引用你文件系統(tǒng)中的本地Maven倉庫。
添加Maven倉庫
要使用Maven倉庫你只需要調(diào)用mavenCentral方法,如下所示:
repositories {
mavenCentral()
}
添加本地倉庫
本地倉庫默認(rèn)在
repositories {
mavenLocal()
}
添加自定義Maven倉庫
如果指定的依賴不存在與Maven倉庫或者你想通過建立自己的企業(yè)倉庫來確??煽啃?,你可以使用自定義的倉庫。倉庫管理器允許你使用Maven布局來配置一個(gè)倉庫,這意味著你要遵守artifact的存儲(chǔ)模式。你也可以添加驗(yàn)證憑證來提供訪問權(quán)限,Gradle的API提供兩種方法配置自定義的倉庫:maven()和mavenRepo()。下面這段代碼添加了一個(gè)自定義的倉庫,如果Maven倉庫中不存在相應(yīng)的庫會(huì)從自定義倉庫中查找:
repositories {
mavenCentral()
maven {
name 'Custom Maven Repository',
url 'http://repository.forge.cloudbees.com/release/')
}
}