為什么搜索不到剛做的網(wǎng)站如何做網(wǎng)絡(luò)推廣人員
maven的兩大配置文件:settings.xml和pom.xml。其中settings.xml是maven的全局配置文件,pom.xml則是文件所在項(xiàng)目的局部配置
標(biāo)簽servers:
一般,倉(cāng)庫(kù)的下載和部署是在pom.xml文件中的repositories和distributionManagement元素中定義的。
然而,一般類(lèi)似用戶(hù)名、密碼(有些倉(cāng)庫(kù)訪(fǎng)問(wèn)是需要安全認(rèn)證的)等信息不應(yīng)該在pom.xml文件中配置,
<server><!-- server的id,不是用戶(hù)登錄的id,該id與distributionManagement中repository元素的id相匹配 --><id>serverId</id><!-- 鑒權(quán)用戶(hù)名和鑒權(quán)密碼表示服務(wù)器認(rèn)證所需要的登錄名和密碼 --><username>username</username><password>password</password><!-- 鑒權(quán)時(shí)使用的私鑰位置 --><privateKey>${usr.home}/.ssh/id_dsa</privateKey><!-- 鑒權(quán)時(shí)使用的私鑰密碼 --><passphrase>passphrase</passphrase><!-- 文件被創(chuàng)建時(shí)的權(quán)限 --><filePermissions>664</filePermissions><!-- 目錄被創(chuàng)建時(shí)的權(quán)限 --><directoryPermissions>775</directoryPermissions>
</server>
標(biāo)簽mirrors:
配置鏡像信息。
<mirrors><mirror><!-- 該鏡像的唯一標(biāo)識(shí)符 --><id>mirrorId</id><!-- 鏡像名稱(chēng) --><name>name</name><!-- 該鏡像的URL,構(gòu)建系統(tǒng)會(huì)優(yōu)先考慮使用該URL,而非使用默認(rèn)的服務(wù)器URL --><url>url</url><!-- 被鏡像的服務(wù)器的id。例如,如果我們要設(shè)置了一個(gè)Maven中央倉(cāng)庫(kù)(http://repo.maven.apache.org/maven2/)的鏡像,就需要將該元素設(shè)置成central。這必須和中央倉(cāng)庫(kù)的id central完全一致。 --><mirrorOf>central</mirrorOf></mirror>
</mirrors>
一般遠(yuǎn)程倉(cāng)庫(kù)的鏡像配置為阿里云的鏡像:
<mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>
</mirrors>
標(biāo)簽profiles:
根據(jù)環(huán)境參數(shù)來(lái)調(diào)整構(gòu)建配置的列表。
settings.xml中的profile元素是pom.xml中profile元素的裁剪版本。
它包含了id、activation、repositories、pluginRepositories和 properties元素。
這里的profile元素只包含這五個(gè)子元素是因?yàn)檫@里只關(guān)心構(gòu)建系統(tǒng)這個(gè)整體(這正是settings.xml文件的角色定位),而非單獨(dú)的項(xiàng)目對(duì)象模型設(shè)置。如果一個(gè)settings.xml中的profile被激活,
它的值會(huì)覆蓋任何其它定義在pom.xml中帶有相同id的profile。
<profiles><profile><id>test</id> <!-- profile的唯一標(biāo)識(shí) --><activation /> <!-- 自動(dòng)觸發(fā)profile的條件邏輯 --> <properties /> <!-- 擴(kuò)展屬性列表 --> <repositories /> <!-- 遠(yuǎn)程倉(cāng)庫(kù)列表 --> <pluginRepositories /> <!-- 插件倉(cāng)庫(kù)列表 --></profile>
</profiles>
關(guān)注:mirror和repository區(qū)別
簡(jiǎn)單點(diǎn)來(lái)說(shuō),repository就是個(gè)倉(cāng)庫(kù)。maven里有兩種倉(cāng)庫(kù),本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)。遠(yuǎn)程倉(cāng)庫(kù)相當(dāng)于公共的倉(cāng)庫(kù),大家都能看到。
本地倉(cāng)庫(kù)是你本地的一個(gè)山寨版,只有你看的到,主要起緩存作用。當(dāng)你向倉(cāng)庫(kù)請(qǐng)求插件或依賴(lài)的時(shí)候,會(huì)先檢查本地倉(cāng)庫(kù)里是否有。如果有則直接返回,否則會(huì)向遠(yuǎn)程倉(cāng)庫(kù)請(qǐng)求,并做緩存。
你也可以把你做的東西上傳到本地倉(cāng)庫(kù)給你本地自己用,或上傳到遠(yuǎn)程倉(cāng)庫(kù),供大家使用。
internal repository是指在局域網(wǎng)內(nèi)部搭建的repository,它跟central repository, jboss repository等的區(qū)別僅僅在于其URL是一個(gè)內(nèi)部網(wǎng)址。
鏡像是倉(cāng)庫(kù)的鏡子,保存了被鏡像倉(cāng)庫(kù)的所有的內(nèi)容,主要針對(duì)遠(yuǎn)程倉(cāng)庫(kù)而言。配置mirror的目的一般是出于網(wǎng)速考慮。如果倉(cāng)庫(kù)X可以提供倉(cāng)庫(kù)Y存儲(chǔ)的所有內(nèi)容,那么就可以認(rèn)為X是Y的一個(gè)鏡像。
換句話(huà)說(shuō),任何一個(gè)可以從倉(cāng)庫(kù)Y獲得的構(gòu)件,都能夠從它的鏡像中獲取。
舉個(gè)例子,http://maven.NET.cn/content/groups/public/ 是中央倉(cāng)庫(kù) http://repo1.maven.org/maven2/ 在中國(guó)的鏡像,由于地理位置的因素,該鏡像往往能夠提供比中央倉(cāng)庫(kù)更快的服務(wù)。