背景
部署本地開發(fā)環(huán)境的時(shí)候,我們需要配置maven settings.xml 以便從遠(yuǎn)程倉庫中拉取代碼。
下載jar包的順序
根據(jù)網(wǎng)絡(luò)請求的便利性,請求的路徑一般是 本地倉庫 -> 私有倉庫(私有網(wǎng)絡(luò))->中央倉庫(由于中央倉庫可能在國外我們可能需要配置鏡像)。
我們執(zhí)行mvn install 的時(shí)候會(huì)先本地找jar包,如果找不到就去私有倉庫,如果還找不到就去中央倉庫拉取代碼。(當(dāng)然如果你如果連不上私有倉庫網(wǎng)絡(luò)此時(shí)可以把私有倉庫注釋掉加快下載速度)。
私有倉庫
基本上每個(gè)公司都會(huì)有自己的私有倉庫 。私有倉庫在settings.xml文件中對(duì)應(yīng)的標(biāo)簽為<repository></repository>,其具體代碼如下:
<profile>
<id>fxiaoke</id>
<repositories>
<repository>
<id>release</id>
<name>XXX repo</name>
<layout>default</layout>
<url>http://maven.firstshare.cn/artifactory/libs-release</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
關(guān)于中央倉庫
maven 中我們通過pom.xml 定義其依賴的jar包及其其他屬性,如果我們有多個(gè)項(xiàng)目且項(xiàng)目的配置有很多相似的地方,此時(shí)沒有必要在每個(gè)pom.xml 寫一遍。我們通過繼承機(jī)制來實(shí)現(xiàn),只需要在父pom.xml中定義好屬性子pom繼承即可。
而中央倉庫地址(maven 官方存放地址)就定義在超級(jí)pom.xml 文件中,超級(jí)pom文件比如pom-4.0.0.xml(maven2 為該文件)一般存放在\org\apache\maven\mode目錄中。
其內(nèi)容大致為:
<project>
<modelVersion>4.0.0</modelVersion>
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
<build>
......
</build>
<reporting>
<outputDirectory>${project.build.directory}/site</outputDirectory>
</reporting>
<profiles>
<!-- NOTE: The release profile will be removed from future versions of the super POM -->
<profile>
<id>release-profile</id>
......
</profile>
</profiles>
</project>
參考
至于具體項(xiàng)目中其結(jié)構(gòu)如何處理的請參考:https://www.cnblogs.com/wkrbky/p/6353285.html