整理自Maven官方文檔與阿里云官方文檔 - 云效Maven公共代理庫(kù)
使用單個(gè)存儲(chǔ)庫(kù)
通過(guò)讓Maven鏡像所有存儲(chǔ)庫(kù)請(qǐng)求,可以強(qiáng)制Maven使用單個(gè)存儲(chǔ)庫(kù)。存儲(chǔ)庫(kù)必須包含所有需要的構(gòu)件,或者能夠?qū)⒄?qǐng)求代理到其他存儲(chǔ)庫(kù)。當(dāng)使用帶有Maven存儲(chǔ)庫(kù)管理器的內(nèi)部公司存儲(chǔ)庫(kù)來(lái)代理外部請(qǐng)求時(shí),此設(shè)置非常有用
為了達(dá)到這個(gè)目的,將 mirrorOf 設(shè)為 *
注意:該特性僅在 Maven 2.0.5+ 中可用
<settings>
...
<mirrors>
<mirror>
<id>internal-repository</id>
<name>Maven Repository Manager running on repo.mycompany.com</name>
<url>http://repo.mycompany.com/proxy</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
...
</settings>
-
id, name: 此鏡像的唯一標(biāo)識(shí)符,id用于區(qū)分鏡像元素,并在連接到鏡像時(shí)從<servers>部分中選擇相應(yīng)的憑據(jù) -
url: 這個(gè)鏡像的基本URL,構(gòu)建系統(tǒng)將使用此URL連接到存儲(chǔ)庫(kù),而不是原始存儲(chǔ)庫(kù)URL -
mirrorOf: 此鏡像所在的存儲(chǔ)庫(kù)的id。例如,要指向Maven中央存儲(chǔ)庫(kù)的鏡像(https://repo.maven.apache.org/maven2/),請(qǐng)將此元素設(shè)置為central
阿里云公共代理庫(kù)
maven.aliyun.com代理了很多公共的maven倉(cāng)庫(kù)
使用maven.aliyun.com中的倉(cāng)庫(kù)地址作為下載源,速度更快更穩(wěn)定
代理的倉(cāng)庫(kù)列表
配置指南
maven配置指南
打開(kāi)maven的配置文件在<mirrors></mirrors>標(biāo)簽中添加mirror子節(jié)點(diǎn):
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共倉(cāng)庫(kù)</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
如果想使用其它代理倉(cāng)庫(kù),可在<repositories></repositories>節(jié)點(diǎn)中加入對(duì)應(yīng)的倉(cāng)庫(kù)使用地址
以使用spring代理倉(cāng)為例:
<repository>
<id>spring</id>
<url>https://maven.aliyun.com/repository/spring</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
gradle配置指南
在build.gradle文件中加入以下代碼:
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/' }
mavenLocal()
mavenCentral()
}
}
如果想使用maven.aliyun.com提供的其它代理倉(cāng),以使用spring倉(cāng)為例,代碼如下:
allProjects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/spring/'}
mavenLocal()
mavenCentral()
}
}