maven倉庫 - nexus私服

maven倉庫

在 Maven 的術(shù)語中焰手,倉庫是一個(gè)位置(place)。

Maven 倉庫是項(xiàng)目中依賴的第三方庫怀喉,這個(gè)庫所在的位置叫做倉庫书妻。

在 Maven 中,任何一個(gè)依賴躬拢、插件或者項(xiàng)目構(gòu)建的輸出躲履,都可以稱之為構(gòu)件见间。

Maven 倉庫能幫助我們管理構(gòu)件(主要是JAR),它就是放置所有JAR文件(WAR工猜,ZIP米诉,POM等等)的地方。

Maven 倉庫有三種類型:

  • 本地(local)
  • 中央(central)
  • 遠(yuǎn)程(remote)

本地倉庫

Maven 的本地倉庫篷帅,在安裝 Maven 后并不會(huì)創(chuàng)建史侣,它是在第一次執(zhí)行 maven 命令的時(shí)候才被創(chuàng)建。

運(yùn)行 Maven 的時(shí)候犹褒,Maven 所需要的任何構(gòu)件都是直接從本地倉庫獲取的抵窒。如果本地倉庫沒有,它會(huì)首先嘗試從遠(yuǎn)程倉庫下載構(gòu)件至本地倉庫叠骑,然后再使用本地倉庫的構(gòu)件李皇。

默認(rèn)情況下,不管Linux還是 Windows宙枷,每個(gè)用戶在自己的用戶目錄下都有一個(gè)路徑名為 .m2/respository/ 的倉庫目錄掉房。

Maven 本地倉庫默認(rèn)被創(chuàng)建在 %USER_HOME% 目錄下。要修改默認(rèn)位置慰丛,在 %M2_HOME%\conf 目錄中的 Maven 的 settings.xml 文件中定義另一個(gè)路徑卓囚。


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
   http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository>C:/MyLocalRepository</localRepository>
</settings>

中央倉庫

Maven 中央倉庫是由 Maven 社區(qū)提供的倉庫,其中包含了大量常用的庫诅病。

中央倉庫包含了絕大多數(shù)流行的開源Java構(gòu)件哪亿,以及源碼、作者信息贤笆、SCM蝇棉、信息、許可證信息等芥永。一般來說篡殷,簡單的Java項(xiàng)目依賴的構(gòu)件都可以在這里下載到。

中央倉庫的關(guān)鍵概念:

  • 這個(gè)倉庫由 Maven 社區(qū)管理埋涧。
  • 不需要配置板辽。
  • 需要通過網(wǎng)絡(luò)才能訪問。

要瀏覽中央倉庫的內(nèi)容棘催,maven 社區(qū)提供了一個(gè) URL:http://search.maven.org/#browse劲弦。 使用這個(gè)倉庫,開發(fā)人員可以搜索所有可以獲取的代碼庫醇坝。

遠(yuǎn)程倉庫

遠(yuǎn)程倉庫分為:遠(yuǎn)程公共倉庫瓶您、私服
如果 Maven 在中央倉庫中也找不到依賴的文件,它會(huì)停止構(gòu)建過程并輸出錯(cuò)誤信息到控制臺(tái)。為避免這種情況呀袱,Maven 提供了遠(yuǎn)程倉庫的概念贸毕,它是開發(fā)人員自己定制倉庫,包含了所需要的代碼庫或者其他工程中用到的 jar 文件夜赵。

舉例說明明棍,使用下面的 pom.xml,Maven 將從遠(yuǎn)程倉庫中下載該 pom.xml 中聲明的所依賴的(在中央倉庫中獲取不到的)文件寇僧。


<project xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.companyname.projectgroup</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>
   <dependencies>
      <dependency>
         <groupId>com.companyname.common-lib</groupId>
         <artifactId>common-lib</artifactId>
         <version>1.0.0</version>
      </dependency>
   <dependencies>
   <repositories>
      <repository>
         <id>companyname.lib1</id>
         <url>http://download.companyname.org/maven2/lib1</url>
      </repository>
      <repository>
         <id>companyname.lib2</id>
         <url>http://download.companyname.org/maven2/lib2</url>
      </repository>
   </repositories>
</project>

Maven 依賴搜索順序

當(dāng)我們執(zhí)行 Maven 構(gòu)建命令時(shí)摊腋,Maven 開始按照以下順序查找依賴的庫:

  • 步驟 1 - 在本地倉庫中搜索,如果找不到嘁傀,執(zhí)行步驟 2兴蒸,如果找到了則執(zhí)行其他操作。
  • 步驟 2 - 在中央倉庫中搜索细办,如果找不到橙凳,并且有一個(gè)或多個(gè)遠(yuǎn)程倉庫已經(jīng)設(shè)置,則執(zhí)行步驟 4笑撞,如果找到了則下載到本地倉庫中以備將來引用岛啸。
  • 步驟 3 - 如果遠(yuǎn)程倉庫沒有被設(shè)置,Maven 將簡單的停滯處理并拋出錯(cuò)誤(無法找到依賴的文件)茴肥。
  • 步驟 4 - 在一個(gè)或多個(gè)遠(yuǎn)程倉庫中搜索依賴的文件坚踩,如果找到則下載到本地倉庫以備將來引用,否則 Maven 將停止處理并拋出錯(cuò)誤(無法找到依賴的文件)瓤狐。

Maven 阿里云(Aliyun)倉庫

Maven 倉庫默認(rèn)在國外瞬铸, 國內(nèi)使用難免很慢,我們可以更換為阿里云的倉庫础锐。

第一步:修改 maven 根目錄下的 conf 文件夾中的 setting.xml 文件赴捞,在 mirrors 節(jié)點(diǎn)上,添加內(nèi)容如下:


<mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
</mirrors>

image

第二步: pom.xml文件里添加:


<repositories>  
        <repository>  
            <id>alimaven</id>  
            <name>aliyun maven</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>false</enabled>  
            </snapshots>  
        </repository>  
</repositories>


maven私服

私服是一種特殊的遠(yuǎn)程倉庫郁稍。
有三種專門的Maven倉庫管理軟件可以用來幫助我們建立私服:chiva、Artifactory和Nexus胜宇。Nexus是當(dāng)前最流行的Maven倉庫管理軟件耀怜。

現(xiàn)在的項(xiàng)目基本都是用Maven來管理工程,這樣一來在公司內(nèi)容搭建一個(gè)私服就非常有必要了桐愉,這樣一來可以管理公司內(nèi)部用的JAR包财破,
也可以管理第三方的各種JAR來,以免每次都要從外網(wǎng)的倉庫中下載从诲。

nexus官網(wǎng)地址

https://www.sonatype.com/nexus-repository-oss

Nexus介紹

  • Nexus是一個(gè)強(qiáng)大的Maven倉庫管理器左痢,它極大地簡化了自己內(nèi)部倉庫的維護(hù)和外部倉庫的訪問。利用Nexus你可以只在一個(gè)地方就能夠完全控制訪問 和部署在你所維護(hù)倉庫中的每個(gè)Artifact。
  • Nexus是一套“開箱即用”的系統(tǒng)不需要數(shù)據(jù)庫俊性,它使用文件系統(tǒng)加Lucene來組織數(shù)據(jù)略步。Nexus 使用ExtJS來開發(fā)界面,利用Restlet來提供完整的REST APIs定页,通過m2eclipse與Eclipse集成使用趟薄。
  • Nexus支持WebDAV與LDAP安全身份認(rèn)證。

Nexus的下載地址是:http://www.sonatype.org/nexus/go/ 到官網(wǎng)上將ZIP的壓縮包下載下來即可典徊,解壓之后發(fā)現(xiàn)有兩個(gè)文件夾杭煎,一個(gè)是nexus-2.11.0-02,另一個(gè)是sonatype-work卒落;
第一個(gè)文件夾包含了Nexus運(yùn)行所需要的文件羡铲,是運(yùn)行Nexus必須的;第二個(gè)文件夾目錄包含Nexus生成的配置文件儡毕、日志文件也切、倉庫文件等,當(dāng)需要備份Nexus的時(shí)候妥曲,默認(rèn)備份的是此目錄文件贾费。

nexus的安裝和使用可以參考:

https://blog.csdn.net/qq_33188563/article/details/82154118

maven中央倉庫和私服倉庫地址整理

1、http://www.sonatype.org/nexus/ 私服nexus工具使用
2檐盟、http://mvnrepository.com/ (推薦)

3褂萧、http://repo1.maven.org/maven2

4、http://maven.aliyun.com/nexus/content/groups/public/ 阿里云 (強(qiáng)力推薦)

5葵萎、http://repo2.maven.org/maven2/ 私服nexus工具使用

6导犹、http://uk.maven.org/maven2/

7、http://repository.jboss.org/nexus/content/groups/public

8羡忘、http://maven.oschina.net/content/groups/public/ oschina可惜啦谎痢,以前一直用這個(gè),不過現(xiàn)在有阿里云來擦屁股啦

9卷雕、http://mirrors.ibiblio.org/maven2/

10节猿、http://maven.antelink.com/content/repositories/central/

11、http://nexus.openkoala.org/nexus/content/groups/Koala-release/

12漫雕、http://maven.tmatesoft.com/content/groups/public/

其實(shí)不管是配置哪個(gè)地址滨嘱,個(gè)人覺得還是創(chuàng)建一個(gè)私人nexus倉庫比較好~ 這樣團(tuán)隊(duì)能夠分享,也不用過多的下載版本
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浸间,一起剝皮案震驚了整個(gè)濱河市太雨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌魁蒜,老刑警劉巖囊扳,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吩翻,死亡現(xiàn)場離奇詭異,居然都是意外死亡锥咸,警方通過查閱死者的電腦和手機(jī)狭瞎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來她君,“玉大人脚作,你說我怎么就攤上這事〉奚玻” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵校镐,是天一觀的道長亿扁。 經(jīng)常有香客問我,道長从祝,這世上最難降的妖魔是什么引谜? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任牍陌,我火速辦了婚禮,結(jié)果婚禮上员咽,老公的妹妹穿的比我還像新娘毒涧。我一直安慰自己,他們只是感情好贝室,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布契讲。 她就那樣靜靜地躺著,像睡著了一般滑频。 火紅的嫁衣襯著肌膚如雪捡偏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天峡迷,我揣著相機(jī)與錄音银伟,去河邊找鬼。 笑死绘搞,一個(gè)胖子當(dāng)著我的面吹牛彤避,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播看杭,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼挟伙!你這毒婦竟也來了楼雹?” 一聲冷哼從身側(cè)響起模孩,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贮缅,沒想到半個(gè)月后榨咐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谴供,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年块茁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桂肌。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡数焊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出崎场,到底是詐尸還是另有隱情佩耳,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布谭跨,位于F島的核電站干厚,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏螃宙。R本人自食惡果不足惜蛮瞄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谆扎。 院中可真熱鬧挂捅,春花似錦、人聲如沸燕酷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽苗缩。三九已至饵蒂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酱讶,已是汗流浹背退盯。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泻肯,地道東北人渊迁。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像灶挟,于是被迫代替她去往敵國和親琉朽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • |-1-更新內(nèi)容[6.從倉庫解析依賴的機(jī)制(重要)] 1Maven倉庫作用 倉庫用來存儲(chǔ)所有項(xiàng)目使用到構(gòu)件稚铣,在ma...
    zlcook閱讀 6,055評(píng)論 0 25
  • 首先私服是一種衍生出來的特殊的Maven遠(yuǎn)程倉庫箱叁,構(gòu)建私服的好處請(qǐng)看3.5私服 可以幫助大家建立私服的倉庫管理軟件...
    zlcook閱讀 10,546評(píng)論 0 32
  • 在Maven中耕漱,任何一個(gè)依賴算色、插件或者項(xiàng)目構(gòu)建的輸出,都可以稱之為構(gòu)件螟够。 Maven在某個(gè)統(tǒng)一的位置存儲(chǔ)所有項(xiàng)目的...
    三也視界閱讀 2,121評(píng)論 0 4
  • 在 Maven 的術(shù)語中灾梦,倉庫是一個(gè)位置(place)。Maven 倉庫是項(xiàng)目中依賴的第三方庫妓笙,這個(gè)庫所在的位置叫...
    41uLove閱讀 6,973評(píng)論 2 3
  • 目前在看nexus私服章節(jié)的知識(shí)時(shí)需要用到倉庫與鏡像的知識(shí)给郊,正好通過簡書把倉庫和鏡像章節(jié)的筆記整理一下 倉庫 ma...
    小煉君閱讀 1,286評(píng)論 0 48