Maven--幾個需要補充的問題(三)

前兩篇由於篇幅太長,爲了給讀者理解方便,這篇集中解決前兩篇遺留下的幾個問題,算是對之前的一個補充,大概歸納了一下,總共有四個問題,下面來一一解決。

一、          在第一篇文章中,直接修改config下的setting文件是最佳方式嗎?遠程倉庫配置在pom中,還是setting中?

第一篇中把遠程倉庫信息直接配置在了config文件夾下的setting中,其實,Maven包括兩個setting,一個是我們剛纔看到

的setting,還有另一個在C:\Users\username\.m2\settings.xml,打開eclipse—preferences—Maven—UserSetting就可以看到了。一般情況下,config下的setting作爲全局的配置,一個項目組就用這個配置,因此可以把共用的配置放在這個setting中,而C盤下的setting是一個本地的配置,也就是用戶自己的配置,可以做一些自定義的配置,據說可以配置用戶信息,因此我覺着把遠程倉庫直接配置在config應該是最佳的方式。

其實遠程倉庫可以向下圖這樣,直接配置在pom中的,但是一般不建議這麼做,因爲pom是針對每個項目的,而setting是

針對項目組,對於多項目,配置在setting中再合適不過。

      

二、          Setting中的profile是什麼?

構建項目時可能會遇到在測試(如單元測試)、開發、模擬、生產等不同環境下需要不同配置(properties、xml)或資源

(jpg、png、mp3)的情況。又或者針對不同的操作系統(如 Windows,Linux)需要爲某個配置設定不同的文件路徑。可見,在不同的軟件開發生命週期階段、不同的最終客戶(用戶)環境、不同的運行平臺都有可能需要不同配置或資源的情況。因此,用profile來解決此問題,在特定的情況下激活其配置,Maven中profile有四種激活方式:根據環境自動激活;通過命令行參數激活;配置默認自動激活;配置settings.xml文件 profile激活。由此可見,我們用的是最後一種激活方式,關於激活方式就不多講了,不然又得需要一篇。http://juvenshun.iteye.com/blog/208714

三、          配置遠程倉庫中,mirror(鏡像)是什麼?

舉個例子,比如你給張三打電話,發現張三把電話設置了呼叫轉移,轉到了李四,並且李四能完成張三的功能,因此,這個李四就是張三的一個鏡像。第一篇和第二篇都接觸了鏡像,在這主要說一下第一篇中的鏡像,在第一篇中配置的http://127.0.0.1:8080/nexus/content/groups/public/就是所有倉庫的鏡像,因此,客戶端所有的請求都會轉發到此地址。該例中<mirrorOf>的值爲星號,表示該配置是所有Maven倉庫的鏡像,如果該鏡像倉庫需要認證,則配置一個Id爲public的<server>即可。爲了滿足一些複雜的需求,Maven還支持其他的鏡像配置:

1.<mirrorOf>*</mirrorOf>:匹配所有遠程倉庫。

2.<mirrorOf>external:*</mirrorOf>:匹配所有遠程倉庫,使用localhost的除外,使用file://協議的除外。也就是說,匹配所有不在本機上的遠程倉庫。

3.<mirrorOf>repo1,repo2</mirrorOf>:匹配倉庫repo1和repo2,使用逗號分隔多個遠程倉庫。

4.<mirrorOf>*,!repo1</miiroOf>:匹配所有遠程倉庫,repo1除外,使用感嘆號將倉庫從匹配中排除。

需要注意的是,由於鏡像倉庫完全屏蔽了被鏡像倉庫,當鏡像倉庫不穩定或者停止服務的時候,Maven仍將無法訪問被鏡像倉庫,因而將無法下載構件。

四、          第二篇文章講了如何構建私服,那如何上傳自己的構建呢?

這裏我就直接引用一位網友的內容了,寫的不錯,截圖也太麻煩,上傳自己的構建,也就是往3rdparty(宿主倉庫)上傳,

所謂自定義構件指的是無法從Maven的中央倉庫進行下載的構建。本人在此選用的是最簡單方便的手動上傳構件(當然上傳構件至宿主倉庫還有一些方式)。單擊3rdparty(宿主倉庫)的ArtifactUpload選項,我們首先來上傳一個基於Maven項目的自定義構件,如下圖:


最後別忘記了添加構件:


如果你的構件不是基於Maven的呢?那麼你可以選擇GAVParameters屬性:


按照上述步驟,就成功將自定義構件上傳至宿主倉庫中了。

利用命令將Jar安裝到本地庫和部署到遠程倉庫

http://blog.csdn.net/happyteafriends/article/details/8174110

http://blog.163.com/sir_876/blog/static/117052232012524111138949/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章