maven培訓(xùn)小課堂一_第1頁(yè)
maven培訓(xùn)小課堂一_第2頁(yè)
maven培訓(xùn)小課堂一_第3頁(yè)
maven培訓(xùn)小課堂一_第4頁(yè)
maven培訓(xùn)小課堂一_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Maven小課堂(一()Maven:mirror和repository(五)repositories和pluginRepositories(六)settings.xml配置說(shuō)明(含mavenoffline作用說(shuō)明(一)服snapshot快照庫(kù)和release(二)Nexus(三)Maven:mirror和repositoryRepository(倉(cāng)庫(kù)Maven倉(cāng)庫(kù)主要有2ocarepostory:存放在本地磁盤(pán)的一個(gè)文件夾,例如,wndows上默認(rèn)是C:\Users\{用戶名}\.m2\repostory Repository主要有3私服:內(nèi)網(wǎng)自建的mavenrepostory,其URL其他公共倉(cāng)庫(kù):其他可以互聯(lián)網(wǎng)公共訪問(wèn)mavenrepostory,例如jbossrepostorymo相當(dāng)于一個(gè)攔截器,它會(huì)攔截maveemoeesoy的相關(guān)請(qǐng)求,把請(qǐng)求里的emoeeosoy地址,重定向到mror里配置的地此時(shí),BRepostory被稱(chēng)為ARepostory<mrrorOf></mrrorOf>標(biāo)簽里面放置的是要被鏡像的RepostoryID。為了滿足一些復(fù)雜的需求,MavenRepository與其實(shí),mrror表示的是兩個(gè)Repostory之間的關(guān)系,在maven配置文件(settng.xm)里配置了 </mrrors>,即定義了兩個(gè)Repostory<mrror>.</mrror></mrrors>,讓B庫(kù)成為A庫(kù)的mrror,即可不用更改項(xiàng)目pom.xm里對(duì)于A如果該鏡像倉(cāng)庫(kù)需要認(rèn)證,則配置settng.xm中的<server></server>加速M(fèi)avenPS:Maven如果不配置nexus私服的倉(cāng)庫(kù)組,那么我們會(huì)在 配置文件里面定義多個(gè)倉(cāng)庫(kù),例如中央倉(cāng)庫(kù)然后再配置mrror去攔截對(duì)應(yīng)的nexu構(gòu)件下載,例如我們有中央倉(cāng)庫(kù)central(Maen)、第三方倉(cāng)庫(kù)(bo)、或者其他倉(cāng)庫(kù)other等,那我們mirror可以配置攔截這些名字centra、bo、other等字眼,例如但是我們使用了nexu置即可,例如profileprofileprofe可以讓我們定義系列的配置信息,然后指定其激活條件。這樣我們就可以定義多個(gè)profe,然后每個(gè)profe對(duì)應(yīng)不同的激活條件和配置信息,從而達(dá)到不同環(huán)境使用不同配置信息的效果。比如說(shuō),我們可以通過(guò)profe定義在jdk1.5以上使用套配置信息,在jdk1.5以下使用另外套配置信息;或者有時(shí)候我們可以通過(guò)操作系統(tǒng)的不同來(lái)使用不同的配置信息,比如wndows下是套信息,nux下又是另外 針對(duì)于特定項(xiàng)的profe配置我們可以定義在該項(xiàng)的pom.xm 安裝錄下的中,另種是定義在pom.xm當(dāng)profe定義在settngs.xm中時(shí)意味著該profe是全局的,它會(huì)對(duì)所有項(xiàng)或者某用戶的所有項(xiàng)都產(chǎn)生作用。因?yàn)樗侨值?,所以在settngs.xm中只能定義些相對(duì)而言范圍寬泛點(diǎn)的配置信息,比如遠(yuǎn)程倉(cāng)庫(kù)等。而些比較細(xì)致點(diǎn)的需要根據(jù)項(xiàng)的不同來(lái)定義的就需要定義在項(xiàng)的義在<propertes>里面的鍵值對(duì)可以在pom.xm中使用。<repostor<pugnRepostor<dependenc<pug<propert<dstrbut還有bud素下面的子素,主要包括:<defautGoa<fnaMaven給我們提供了多種不同的profe激活方式。比如我們可以使用-P參數(shù)顯示的激活個(gè)profe,也可以根據(jù)環(huán)境條件的設(shè)置讓它自動(dòng) 先看下面Xm<d>profeTest1</<propert<heo>word</he</propert<actvat<actveByDefaut>true</actveByDefau</actvat<d>profeTest2</<propert<heo>andy</he</propertmvnpackagePprofeTest2的時(shí)候?qū)⒓せ頿rofeTest2,而這個(gè)時(shí)候profeTest1將不會(huì)被激活。們定義了如下兩個(gè)profeXm<d>profeTest1</<propert<heo>word</he</propert<d>profeTest2</<propert<heo>andy</he</propert么我們就可以在settngs.xm中定義actveProfes,具體定義如下:Xm<actveProf<actveProfe>profeTest1</actveProf</actveProf考慮這樣種情況,我們?cè)赼ctveProfes下同時(shí)定義了多個(gè)需要激活的profe。這里還拿上面的profe定義來(lái)舉例,我們定義了同時(shí)激活profeTest1和profeTest2。Xm<actveProf<actveProfe>profeTest1</actveProf<actveProfe>profeTest2</actveProf</actveProf從profeTest1和profeTest2我們可以看出它們共同定義了屬性heo。那么這個(gè)時(shí)候我在pom.xm中使用屬性heo的時(shí)候,它到底取的哪個(gè)值呢?是根據(jù)actveProfe定義的順序,后面的覆蓋前面的嗎?根據(jù)我的測(cè)試,答案是非也,它是根據(jù)profe定義的先后順序來(lái)進(jìn)行使用-P參數(shù)顯示的激活個(gè)profXm代碼<d>profeTest1</<propert<heo>word</he</propert<d>profeTest2</<propert<heo>andy</he</propert那么當(dāng)我們?cè)谶M(jìn)行Maven操作時(shí)就可以使用-P參數(shù)顯示的指定當(dāng)前激活的是哪個(gè)profe了。比如我們需要在對(duì)項(xiàng)進(jìn)行打包的時(shí)候使用d為profeTest1的profe,我們就可以這樣做:CmdCmd當(dāng)前操作中該profe將不處于激活狀態(tài)。根據(jù)環(huán)境來(lái)激活profprofeprofe,也可以根據(jù)jdk版本的不同激活不同的profe,等等。Xm代碼<d>profeTest1</Xm代碼<d>profeTest1</根據(jù)操作系統(tǒng)來(lái)激活profeXm<d>profeTest1</<actvat<name>Wndows<famy>Wndows</fam<verson>5.1.2600</vers</actvat根據(jù)系統(tǒng)屬性來(lái)激活profeXm<d>profeTest1</<actvat<name>he<vaue>word</va</actvat當(dāng)是下面的這種定義形式時(shí),profeTest1將在指定了系統(tǒng)屬性heo,且其值為任意值的時(shí)候被激活。Xm代碼<d>profeTest1</<actvat<name>he</actvatXm代碼<d>profeTest1</<actvat<f</f</actvatXm代碼<d>profeTest1</<actvat<f<mssng>target</mss</f</actvat查看當(dāng)前處于激活狀態(tài)的我們可以同時(shí)定義多個(gè)profe,那么在建立項(xiàng)的過(guò)程中,到底激活的是哪個(gè)profe呢?Maven激活狀態(tài)的profe都有哪些,這個(gè)指定就是mvnhep:actve-profes。Xm代碼<d>profeTest1</<actvat<f<mssng>target</mss</f</actvat<actveProf<actveProfe>profeTest1</actveProf</actveProf(五)repositories和pluginRepositories看下官方文檔的說(shuō)明:Pluginarethemajortyofpugnsthatresdewthncentra.Theothertypeofartfactspugns.Mavenpugnsarethemsevesaspecatypeargumentfordongso).Inanycase,thestructureofthepluginRepositorieseementbockssmartotherepositories(六)settings.xml配置說(shuō)明(含mavenoffline作用說(shuō)明文件存放<?<?xmlveson=".0"encodng="UFoo<!<!Maven是否需要和用戶交互以獲得輸入如果Maven需要和用戶交互以獲得輸入,則設(shè)置成te,反之則應(yīng)為false默認(rèn)為t <nteactveMode>tue</nteact<!<!Maven是否需要使用plugnegst.l文件來(lái)管理插件版本如果需要Maven使用文件${usehm}mlugnegstxl來(lái)管理插件版本,則設(shè)為tue默認(rèn)為false><usePlugnRegst>false</usePlugnRegst<!<!表示Maven是否需要在離線模式下運(yùn)行如果構(gòu)建系統(tǒng)需要在離線模式下運(yùn)行,則為tue,默認(rèn)為false當(dāng)由于網(wǎng)絡(luò)設(shè)置原因或者安全因素,構(gòu)建服務(wù) <!<!d(goupd)d(goupd)的列表該元素包含plugnGoup組織d(goupd)當(dāng)我們使用某個(gè)插件,并沒(méi)有在命令行為其提供組織d(goupd)的時(shí)候,Maven就會(huì)使用該列表默認(rèn)情況下該列表包含了og.acmnlns和o.odhamo><plugnG<!plugn的組織d(goup <plugnGoup>oodhusoo<lugnG</plugnG<!<!用來(lái)配置不同的代理,多代理pofles可以應(yīng)對(duì)筆記本或移動(dòng)設(shè)備的工作環(huán)境:通過(guò)簡(jiǎn)單的設(shè)置pofled>代理元素包含配置代理時(shí)需要的信息<pox代理的唯定義符,用來(lái)區(qū)分不同的代理元 <d>mpox</ ue則激活代理當(dāng)我們聲明了組代理,而某個(gè)時(shí)候只需要激活個(gè)代理的時(shí)候,該元素就可以派上用><!代理的主機(jī)名協(xié)議://主機(jī)名:<!代理的端口協(xié)議://主機(jī)名:<! </pox<!鑒權(quán)密 <!<!為倉(cāng)庫(kù)列表配置的下載鏡像列表高級(jí)設(shè)置請(qǐng)參閱鏡像設(shè)置 <mo<!給定倉(cāng)庫(kù)的下載鏡 <mo<!該鏡像的唯標(biāo)識(shí) d用來(lái)區(qū)分不同的 o元 <d>planetmoo</<!鏡像名 <!該鏡像的URL構(gòu)建系統(tǒng)會(huì)優(yōu)先考慮使用該URL,而使用默認(rèn)的服務(wù)器 <uwll <!被鏡像的服務(wù)器的d例如,如果我們要設(shè)置了個(gè)Maven中央倉(cāng)庫(kù)(http://po.anpceg/maven2/)的鏡像,就需要將該元素設(shè)置成cental這必須和中央倉(cāng)庫(kù)的dcental完全致><moOf>cental</mo</mo</molmloes,plugnRepostoes和popetes元素這里的pofle元素只包含這五個(gè)子元素是因?yàn)檫@里只關(guān)心構(gòu)建系統(tǒng)這個(gè)整體(這正是setts.ml文件的角色定位),而單獨(dú)的項(xiàng)目對(duì)象模型設(shè)置如果個(gè)settngs中的pofle被激活,它的值會(huì)覆蓋任何其它定義在POM中或者poflexl中的帶有相同d的pofle <pof<!根據(jù)環(huán)境參數(shù)來(lái)調(diào)整的構(gòu)件的配置<pof<!該配置的唯標(biāo)識(shí) <d>test</<!<!自動(dòng)觸發(fā)pofle的條件邏輯Actvaton是pofle的開(kāi)啟鑰匙如POM中的pofle樣,pofle的力量來(lái)自于它能夠在某些特定的環(huán)境中自動(dòng)使用某些特定的值;這些環(huán)境通過(guò)actvaton元素指定actvaton元素并不是激活pofle的唯方式settngsl文件中的actvePofle元素可以包含pofle的dpofle也可以通過(guò)在命令行,使用P標(biāo)記和逗號(hào)分隔的列表來(lái)顯式的激活(如,Ptest)><<actvat<!pofle默認(rèn)是否激活的標(biāo)識(shí)<!當(dāng)匹配的jdk被檢測(cè)到,pofle被激活例如,.4激活JDK.4,.4.02,而!.4激活所有版本不是以.4開(kāi)頭的 <!當(dāng)匹配的操作系統(tǒng)屬性被檢測(cè)到,pofle被激活os元素可以定義些操作系統(tǒng)相關(guān)的屬 <!激活pofle的操作系統(tǒng)的名 <name>Wndows<!激活pofle的操作系統(tǒng)所屬家族(如'w <faml>Wndows</faml<!激活pofle的操作系統(tǒng)體系結(jié) <!激活pofle的操作系統(tǒng)版本<veson>5..2600</ves<!如果Maven(其值可以在POM中通過(guò)${name}引用),其擁有對(duì)應(yīng)的name值,Pofle存在屬性名稱(chēng)字段就會(huì)激活pofle,否則按區(qū)分大小寫(xiě)方式匹配屬性值字段><popet<!激活pofle的屬性的名稱(chēng)<!激活pofle的屬性的 </popet<!提供個(gè)文件名,通過(guò)檢測(cè)該文件的存在或不存在來(lái)激活poflemssng檢查文件是否存在,如果不存在則激活pofle另方,exsts則會(huì)檢查文件是否存在,如果存在則激活pofle><f<!如果指定的文件存在,則激活pof <exsts>${based}/fle2.popetes</ex<!如果指定的文件不存在,則激活pof <mssng>${based}/fle.popetes</mss</actvat<!<!對(duì)應(yīng)pofle的擴(kuò)展屬性列表Maven屬性和Ant中的屬性樣,可以用來(lái)存放些值這些值可以在POM中的任何地方使用標(biāo)記${X}來(lái)使用,這里X是指屬性的名稱(chēng)屬性有五種不同的形式,并都能在settngsml文件中訪問(wèn)poject.x:指代了POM中對(duì)應(yīng)的元素值例如:<poject><veson>.0</veson></poject>通過(guò)${poject.veson}獲得vesonsettngs.x指代了settnxl中對(duì)應(yīng)元素的值例如:<settngs><offlne>false</offlne></settngs>${settngs.offlne}獲得offlne的值eeP5.x:在<popetes/>元素中,或者外部文件中設(shè)置,以${someVa}<popet</popetnote:如果該pofle被激活,則可以再POM中使用${use.><!<!<eposto><!包含需要連接到遠(yuǎn)程倉(cāng)庫(kù)的信 <eposto<!遠(yuǎn)程倉(cāng)庫(kù)唯標(biāo)識(shí)<!遠(yuǎn)程倉(cāng)庫(kù)名 <!<!如何處理遠(yuǎn)程倉(cāng)庫(kù)里發(fā)布版本的下載<!tue或者false表示該倉(cāng)庫(kù)是否為下載某種類(lèi)型構(gòu)件(發(fā)布版,快照版)<!該元素指定更新發(fā)生的頻率Maven會(huì)比較本地POM和遠(yuǎn)程POM的時(shí)間戳這里的選項(xiàng)是:alwas(直),dal(默認(rèn),每日),nteval:X(這里X是以分鐘為單位的時(shí)間間隔),或者neve(從不) <!當(dāng)Maven驗(yàn)證構(gòu)件校驗(yàn)文件失敗時(shí)該怎么做gnoe(忽略),fal(失?。?,或者wan(警告 <!如何處理遠(yuǎn)程倉(cāng)庫(kù)里快照版本的下載有了eleases和snapshots這兩組配置,POM就可以在每個(gè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論