首先是repositories
,其中定義了一些遠(yuǎn)程倉(cāng)庫(kù)(私服)。本來(lái)是可以直接定義在POM.xml 医窿,但是由于一個(gè)公司通常多個(gè)項(xiàng)目都是使用的同一個(gè)遠(yuǎn)程倉(cāng)庫(kù)(私服)。為了每個(gè)項(xiàng)目不重復(fù)定義炊林。所以可以統(tǒng)一配置在settings.xml姥卢。由于settings下不能直接定義repositories
所以采用了profiles
。同時(shí)也可以使用profiles
做不同環(huán)境下的配置切換渣聚。
容易混淆的是mirrors
独榴,配置多個(gè)mirror
,并不是每一個(gè)都會(huì)生效奕枝,始終只有第一個(gè)有用棺榔。另外mirrors
跟profiles沒(méi)有什么直接關(guān)系,有關(guān)系的是repository
隘道,mirrorOf
中配置的是repository id(支持表達(dá)式)掷豺。一般我們mirror
的都是central這類(lèi)官方,因?yàn)?code>mirror的主要作用就是解決不同網(wǎng)絡(luò)環(huán)境下薄声,這種官方的或者第三方的倉(cāng)庫(kù)速度問(wèn)題。如果你有私服题画,然后直接mirrorOf *
到了阿里云的鏡像庫(kù)默辨,那么你私服的Jar可能就訪問(wèn)不到了。
maven找Jar的路徑大概是苍息,本地倉(cāng)庫(kù)>各個(gè)遠(yuǎn)程庫(kù)缩幸,如果配置了鏡像壹置,則走鏡像庫(kù)。