乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      使用Maven-建立自己的本地倉庫 - 行水流云的日志 - 網(wǎng)易博客

       旭龍 2011-06-10

      Maven倉庫
      在以前使用Ant的時(shí)候,我們會(huì)建立一個(gè)lib目錄在存放我們的jar包,比如項(xiàng)目所依賴的第三方包,每建立一個(gè)項(xiàng)目都要建立一個(gè)lib,不停的做copy工作,不僅是對(duì)于磁盤的浪費(fèi),而且也造成了版本管理上的麻煩。而且我們還需要通過提交到svn上來對(duì)lib進(jìn)行管理,但是svn對(duì)于這種二進(jìn)制文件的管理并不出色。

       

      Maven倉庫的初中就是為了解決這個(gè)問題,是所有常用的第三方包的集中營。這樣所有的Maven項(xiàng)目就可以從這個(gè)倉庫中獲取所需要的資源,Maven倉庫中對(duì)jar通過Group Id, Atifact Id, version 來管理,所以Maven項(xiàng)目可以很方便的進(jìn)行依賴管理。你不需要自己來管理這個(gè)龐大的資源倉庫,當(dāng)然你可以創(chuàng)建一個(gè)公司層面的倉庫管理器,這個(gè)我在這個(gè)章節(jié)的后面會(huì)介紹。

       

      Maven倉庫的兩個(gè)概念:本地倉庫和遠(yuǎn)程倉庫

       

      本地倉庫是遠(yuǎn)程倉庫的一個(gè)緩沖和子集,當(dāng)你構(gòu)建Maven項(xiàng)目的時(shí)候,首先會(huì)從本地倉庫查找資源,如果沒有,那么Maven會(huì)從遠(yuǎn)程倉庫下載到你本地倉庫。這樣在你下次使用的時(shí)候就不需要從遠(yuǎn)程下載了。如果你所需要的jar包版本在本地倉庫沒有,而且也不存在于遠(yuǎn)程倉庫,Maven在構(gòu)建的時(shí)候會(huì)報(bào)錯(cuò),這種情況可能發(fā)生在有些jar包的新版本沒有在Maven倉庫中及時(shí)更新。

      Maven缺省的本地倉庫地址為${user.home}/.m2/repository 。也就是說,一個(gè)用戶會(huì)對(duì)應(yīng)的擁有一個(gè)本地倉庫。當(dāng)然你可以通過修改${user.home}/.m2/settings.xml配置這個(gè)地址:

      Xml代碼

      <settings>  
        ...   
        <localRepository>D:\java\repository</localRepository>  
        ...   
      </settings>  
      如果你想讓所有的用戶使用統(tǒng)一的配置那么你可以修改Maven主目錄下的setting.xml:

      ${M2_HOME}/conf/setting.xml

       

      還可以通過在運(yùn)行時(shí)指定目錄,但是并不推薦這么做:

      mvn clean install -Dmaven.repo.local=/home/juven/myrepo/

      當(dāng)我們創(chuàng)建一個(gè)簡(jiǎn)單的Maven項(xiàng)目后(只需要在pom.xml配置好依賴),運(yùn)行mvn clean install就可以把項(xiàng)目構(gòu)建好,不需要我們手工下載任何jar,這全靠中央倉庫的存在,它會(huì)自動(dòng)從倉庫下載。這個(gè)倉庫的定義是在${M2_HOME}/lib/maven-2.0.10-uber.jar里面。你可以在里面找到\org\apache\maven\project\pom-4.0.0.xml這個(gè)文件,在這個(gè)文件里面定義了中央倉庫的地址:

      <repositories>  
        <repository>  
          <id>central</id>  
          <name>Maven Repository Switchboard</name>  
          <layout>default</layout>  
          <url>http://repo1./maven2</url>  
          <snapshots>  
            <enabled>false</enabled>  
          </snapshots>  
        </repository>  
      </repositories>  
      在POM中配置遠(yuǎn)程倉庫

       

      下面我介紹下如何在pom.xml里面配置遠(yuǎn)程倉庫,我們需要在什么時(shí)候配置遠(yuǎn)程倉庫呢?當(dāng)你連接中央倉庫的速度比較慢時(shí),或者你為你的公司搭建了自己的倉庫,比如Nexus倉庫管理(后面我會(huì)介紹),又或者你蘇需要的jar存在另外一個(gè)公共倉庫,比如我們配置一個(gè)國內(nèi)的鏡像地址:

      <project>  
      ...   
        <repositories>  
          <repository>  
            <id>maven-net-cn</id>  
            <name>Maven China Mirror</name>  
            <url>http:///content/groups/public/</url>  
            <releases>  
              <enabled>true</enabled>  
            </releases>  
            <snapshots>  
              <enabled>false</enabled>  
            </snapshots>  
          </repository>  
        </repositories>  
        <pluginRepositories>  
          <pluginRepository>  
            <id>maven-net-cn</id>  
            <name>Maven China Mirror</name>  
            <url>http:///content/groups/public/</url>  
            <releases>  
              <enabled>true</enabled>  
            </releases>  
            <snapshots>  
              <enabled>false</enabled>  
            </snapshots>       
          </pluginRepository>  
        </pluginRepositories>  
      ...   
      </project> 
      這里我們可以看到,允許配置多個(gè)repository和 plugin repository,<releases><enabled>true</enabled></releases>告訴Maven可以從這個(gè)倉庫下載releases版本的構(gòu)件,而<snapshots><enabled>false</enabled></snapshots>告訴Maven不要從這個(gè)倉庫下載snapshot版本的構(gòu)件,之所以不讓你從這個(gè)倉庫下載snapshot版本,是因?yàn)檫@些版本是不穩(wěn)定的,但是snapshot版本在我們內(nèi)部項(xiàng)目開發(fā)的時(shí)候可是作用巨大,后面的問文章我會(huì)討論這個(gè)問題。至于<pluginRepositories>,這是配置Maven從什么地方下載插件構(gòu)件,Maven的所有行為都是通過插件來完成的,其內(nèi)部配置與<repository>類似,這里就不多說了。

       

      盡管pom.xml中可以方便的哦配置中央倉庫,但是我并不推薦大家這么做,尤其是在大的公司中,因?yàn)橐粋€(gè)公司會(huì)有很多的項(xiàng)目,如果每個(gè)項(xiàng)目都這樣配置,那么又開始做重復(fù)的copy工作了,如何解決呢,我們往下走

       

      在settings.xml中配置遠(yuǎn)程倉庫

       

      Pom.xml的作用范圍是一個(gè)項(xiàng)目,一個(gè)公司不可能只做一個(gè)項(xiàng)目,那么為了避免重復(fù)配置,那么我們需要把一些公共信息配置在setting.xml中。但是setting.xml中并不支持<repositories>及<pluginRepositories>,為了解決這個(gè)問題我們使用profile:

      <settings>  
        ...   
        <profiles>  
          <profile>  
            <id>myProfiel</id>  
            <!—在這里加入<repositories>及<pluginRepositories>-->  
          </profile>  
        </profiles>  
        <activeProfiles>  
          <activeProfile> myProfiel </activeProfile>  
        </activeProfiles>  
        ...   
      </settings>  
      這里通過<activeProfile>元素來激活這個(gè)profile,這樣我們就可以全局的使用這個(gè)配置,不再需要為每個(gè)POM做重復(fù)的配置了。

      在實(shí)際的操作過程中,這里我們最好不要配置遠(yuǎn)程倉庫,最好能夠通過nexus建立公司或者組織自己的倉庫,然后這把把地址指向自己的倉庫,后面我會(huì)介紹為什么要這么做,怎么做。

       

      配置鏡像

       

      如果你想覆蓋中央倉庫的默認(rèn)地址,那么這里我們就會(huì)使用的鏡像了,還在setting.xml里面配置:

      <settings>  
      ...   
        <mirrors>  
          <mirror>  
            <id>maven-net-cn</id>  
            <name>Maven China Mirror</name>  
            <url>http:///content/groups/public/</url>  
            <mirrorOf>central</mirrorOf>  
          </mirror>  
        </mirrors>  
      ...   
      </settings>  
      這里解釋一下<mirrorOf>,表示只為central倉庫做鏡像,如果想為所有的倉庫做鏡像那么可以改為:<mirrorOf>*</mirrorOf>

       

      如果你看到這里,請(qǐng)先不要著急,實(shí)際的項(xiàng)目經(jīng)驗(yàn)告訴我,只是這些還不夠,我們需要更快捷和高效的管理:

       

      利用Nexus來構(gòu)建企業(yè)級(jí)Maven倉庫
      Nexus簡(jiǎn)介

       

      Nexus是Maven倉庫管理器,用來搭建一個(gè)本地倉庫服務(wù)器,這樣做的好處是便于管理,節(jié)省網(wǎng)絡(luò)資源,速度快,還有一個(gè)非常有用的功能就是可以通過項(xiàng)目的SNAPSHOT版本管理,來進(jìn)行模塊間的高效依賴開發(fā),下面會(huì)一一描述。

       

      雖然你可以通過中央倉庫來獲取你所需要的jar包,但是現(xiàn)實(shí)往往是存在很多問題:

      網(wǎng)速慢,你可能需要花很長的時(shí)間來下載你所需要的jar
      如果你的公司很大,有幾百甚至幾千人再用Maven,那么這些人都去通過中央倉庫來獲取jar,那么這是一個(gè)很大的資源浪費(fèi)
      如果存在模塊之間的依賴開發(fā),你的snapshot版本是不能夠被你的伙伴很方便的獲取。
      在實(shí)際開發(fā)過程中,有些jar的版本可能在中央倉庫里面不存在,或者更新不及時(shí),你是獲取不到這個(gè)jar的。
      所有以上問題,通過Nexus這個(gè)日益流行的倉庫管理器可以輕松的解決。

       
      這個(gè)倉庫是本地的,下載的速度是從遠(yuǎn)程下載不可比的。
      可以為你公司所有的Maven使用者服務(wù),可以進(jìn)行統(tǒng)一管理
      后面我會(huì)介紹如何通過nexus來進(jìn)行存在模塊依賴的項(xiàng)目的開發(fā)
      你可以添加自己的第三方包。
       

      安裝Nexus

       

      我們從http://nexus./downloads/ 來獲取最新版本,目前最新版本為1.3.4

      Nexus提供了兩種安裝方式,一種是內(nèi)嵌Jetty的bundle,只要你有JRE就能直接運(yùn)行。第二種方式是WAR,你只須簡(jiǎn)單的將其發(fā)布到web容器中即可使用。

       

      1)Bundle方式安裝

      解壓nexus-webapp-1.3.4-bundle.zip 至任意目錄,如D:\tools ,轉(zhuǎn)到目錄D:\tools\nexus-webapp-1.3.4\bin\jsw\windows-x86-32 ,運(yùn)行Nexus.bat ,如果你是在linux下安裝,那么就下載nexus-webapp-1.3.4-bundle.tar.gz,解壓后轉(zhuǎn)到${NEXUS_HOME}/ nexus-webapp-1.3.3\bin\jsw\linux-x86-32,它還支持solaris,macos等操作系統(tǒng)。當(dāng)你看到“Started SelectChannelConnector@0.0.0.0:8081”之后,說明Nexus啟動(dòng)成功了,然后打開瀏覽器,訪問http://127.0.0.1:8081/nexus,通過admin的賬號(hào)(admin)和密碼(admin123)登錄你會(huì)看到如下的頁面:

       

       

      如果有新版本發(fā)布,會(huì)有提示在默認(rèn)頁面上。

      這里,可以管理倉庫,配置Nexus系統(tǒng),管理任務(wù),管理用戶,角色,權(quán)限,查看系統(tǒng)的RSS源,管理及查看系統(tǒng)日志,等等。

       

      War方式安裝

       

      你可以同過war的方式以web應(yīng)用的形式發(fā)布到你的應(yīng)用服務(wù)器,比如tomcat。你所要做的就是下載war版本的文件,然后放到應(yīng)用服務(wù)器的發(fā)布目錄即可,這里就不多講了。

       

      到此我們已經(jīng)安裝好Nexus,下面我來介紹下一些我們常用的功能和使用:

       

      配置中央倉庫

       

      先看一下界面:

       

      在左邊菜單欄里選擇Repositories,然后會(huì)出現(xiàn)右邊的畫面,右邊上半部分是列出來的repository,黑體字是類型為group的repository. 這里簡(jiǎn)單介紹下幾種repository的類型:

      hosted,本地倉庫,通常我們會(huì)部署自己的構(gòu)件到這一類型的倉庫。比如公司的第二方庫。
      proxy,代理倉庫,它們被用來代理遠(yuǎn)程的公共倉庫,如maven中央倉庫。
      group,倉庫組,用來合并多個(gè)hosted/proxy倉庫,當(dāng)你的項(xiàng)目希望在多個(gè)repository使用資源時(shí)就不需要多次引用了,只需要引用一個(gè)group即可。
      Maven central是Maven的中央倉庫,點(diǎn)擊它并選擇configuration標(biāo)簽欄,我們會(huì)看到下面的頁面:

       

      這里有幾個(gè)項(xiàng)目是我們可能會(huì)經(jīng)常用到的:

      Override local storage location: 在這個(gè)選項(xiàng)你可以配置你的Nexus本地倉庫的存放地址,用來覆蓋其默認(rèn)的存放地址
      Remote storage location: 這里是遠(yuǎn)程倉庫的地址,為了提高代理速度,你可以修改為國內(nèi)的鏡像地址。默認(rèn)值是http://repo1./maven2/
      Download remote indexes: 這里配置是否下載遠(yuǎn)程索引文件,模式是false, 建議配置為true,這樣我們便可以通過索引文件來搜索我們需要的構(gòu)件。
       

      添加代理倉庫

       

      Maven central是一個(gè)比較大的代理倉庫,如果你需要添加的一個(gè)代理倉庫,那么可以在點(diǎn)擊左邊慘淡欄里面的Repositories,然后右邊的頁面點(diǎn)擊add -> add proxy repository, 之后出現(xiàn)以下頁面:

       

       

      填寫相關(guān)信息保存即可。通常情況下,使用預(yù)設(shè)的代理倉庫已經(jīng)能夠滿足大部分項(xiàng)目的需求了, 只有在特殊需求的情況下才會(huì)參加代理倉庫.

       

      管理本地倉庫

       

      我們前面講到類型為hosted的為本地倉庫,Nexus預(yù)定義了3個(gè)本地倉庫,分別是Releases, Snapshots, 3rd Party. 分別講一下這三個(gè)預(yù)置的倉庫都是做什么用的:

      Releases: 這里存放我們自己項(xiàng)目中發(fā)布的構(gòu)建, 通常是Release版本的, 比如我們自己做了一個(gè)FTP Server的項(xiàng)目, 生成的構(gòu)件為ftpserver.war, 我們就可以把這個(gè)構(gòu)建發(fā)布到Nexus的Releases本地倉庫. 關(guān)于符合發(fā)布后面會(huì)有介紹.
      Snapshots: 這個(gè)倉庫非常的有用, 它的目的是讓我們可以發(fā)布那些非release版本, 非穩(wěn)定版本, 比如我們?cè)趖runk下開發(fā)一個(gè)項(xiàng)目,在正式release之前你可能需要臨時(shí)發(fā)布一個(gè)版本給你的同伴使用, 因?yàn)槟愕耐檎谝蕾嚹愕哪K開發(fā), 那么這個(gè)時(shí)候我們就可以發(fā)布Snapshot版本到這個(gè)倉庫, 你的同伴就可以通過簡(jiǎn)單的命令來獲取和使用這個(gè)臨時(shí)版本.
      3rd Party: 顧名思義, 第三方庫, 你可能會(huì)問不是有中央倉庫來管理第三方庫嘛, 沒錯(cuò), 這里的是指可以讓你添加自己的第三方庫, 比如有些構(gòu)件在中央倉庫是不存在的. 比如你在中央倉庫找不到Oracle 的JDBC驅(qū)動(dòng), 這個(gè)時(shí)候我們就需要自己添加到3rd party倉庫.
      你也可以創(chuàng)建自己的本地倉庫,點(diǎn)擊Repository面板上方的Add按鈕,然后選擇Hosted Repository,然后在下方的配置面板中輸入相關(guān)信息, 這里我們不再需要填寫遠(yuǎn)程倉庫地址,根據(jù)自己的需要選擇Release或者Snapshot,如圖:


       

      Maven倉庫組

       

      倉庫組的概念是Maven沒有的,通過前面介紹可以了解到, 我們可以建立多個(gè)proxy代理倉庫,hosted本地倉庫, 如果沒有倉庫組的概念,我們?nèi)绻枰眠@些倉庫的是時(shí)候需要一一加入到我們的setting.xml里面去, 有了倉庫的組的概念, 我們只需要做一次引用就可以了,把我們需要的倉庫加入到倉庫組即可.像這樣:

          <repositories>

           <repository>

              <id>nexus</id>                                   

                <url>http://127.0.0.1:8081/nexus/content/groups/public/</url>                      

                  <releases>

                  <enabled>true</enabled>

          </releases>

           <snapshots>

             <enabled>true</enabled>

           </snapshots>

      </repository>

        </repositories>

      Nexus中預(yù)設(shè)了2個(gè)倉庫組,public repositories和public snapshot repositories. 如圖:

       

      這個(gè)倉庫組默認(rèn)包含本地倉庫Releases, snapshots, 3rd party和代理倉庫Maven Central. 你可以在Configuration配置頁添加倉庫到這個(gè)倉庫組. 如果需要你還可以創(chuàng)建一個(gè)倉庫組,如圖:

      點(diǎn)擊 Add->Repository Group

      出現(xiàn)New Repository Group界面后,填入ID, name 等相關(guān)信息, 在右邊Available Repositories 欄里可以選擇你要添加的倉庫到你新建的倉庫組. 

       

       

       

      通過Nexus搜索構(gòu)件

       

      在我們實(shí)際使用構(gòu)件的過程中通常遇到一個(gè)問題,有時(shí)候我緊緊知道我所需要的構(gòu)建的大致名字,并不知道全稱或group id, 這是件非常頭疼的事情. Nexus基于Nexus indexer的搜索功能幫我們解決了這個(gè)問題.

      要是用搜索功能, 必須要有索引文件, Nexus默認(rèn)是不建立索引文件的,因?yàn)橄裰醒雮}庫這樣的索引文件的建立需要耗費(fèi)比較大的網(wǎng)絡(luò)資源,僅索引文件就要幾十兆. 要開啟中央倉庫的索引文件下載功能需要在Maven Central的配置頁面, 把Download Remote Indexes選擇true. 如圖:

       

      這樣設(shè)置以后, Nexus會(huì)自動(dòng)從遠(yuǎn)程中央倉庫下載索引文件, 為了檢驗(yàn)索引文件自動(dòng)下載是否生效,可以卻換到Browse:

       

      如果出現(xiàn)先以上文件夾,那說明索引文件已經(jīng)建立.

      下面我試一下搜索功能, 在左邊菜單欄里面有個(gè)Artifact Search, 在輸入框里面輸入你想要搜索的構(gòu)件名字,比如: testing, 那么查詢結(jié)果如下:

       

      這是模糊查詢的結(jié)果,當(dāng)然如果你知道更多信息,比如版本號(hào)等,你可以使用高級(jí)搜索,點(diǎn)擊高級(jí)搜索后,右邊界面會(huì)提供集中搜索方式:keyword, classname, GAV, checksum

       

      比如我們這里選擇GAV模式, 而且我只知道artiface name : testng和版本號(hào)5.8, 其他的我不知道, 那么就在artifact 和 version處分別輸入testng 和 5.8 , 搜索結(jié)果如下:

       

      你如果你不知道知道構(gòu)件的名稱, 只知道classname, 那么你也可以通過class name 的方式搜索,這里就不再贅述

      當(dāng)你選擇一項(xiàng)搜索結(jié)果,在頁面的下方會(huì)出現(xiàn)這個(gè)構(gòu)件的詳細(xì)信息, 并且會(huì)列出這個(gè)構(gòu)件的Maven依賴配置, 你可以直接拷貝到你的pom文件中使用,這是個(gè)非常實(shí)用的功能:

       

      在Maven中使用Nexus

         到此為止我們介紹了如何安裝和使用Nexus以及其基本配置, 下面我們介紹下如何讓Maven來使用Nexus本地倉庫用來替代使用遠(yuǎn)程倉庫. 在Maven使用Nexus本地倉庫只需稍作配置, 在settings.xml中加入以下代碼:

          <profile>

             <id>dev</id>

                <repositories>

                   <repository>

                       <id>nexus</id>

                       <url>http://127.0.0.1:8081/nexus/content/groups/public/</url>

                       <releases>

                          <enabled>true</enabled>

                       </releases>

                       <snapshots>

                          <enabled>true</enabled>

                       </snapshots>

                    </repository>

                  </repositories>           

                  <pluginRepositories>

                      <pluginRepository>

                          <id>nexus</id>

                          <url>http://127.0.0.1:8081/nexus/content/groups/public</url>

                          <releases>

                              <enabled>true</enabled>

                          </releases>

                          <snapshots>

                              <enabled>true</enabled>

                          </snapshots>

                      </pluginRepository>

                  </pluginRepositories>

              </profile>

          </profiles>

         

          <activeProfiles>

              <activeProfile>dev</activeProfile>

          </activeProfiles>

       

      這里配置了repository和pluginRepository, Maven在使用第三方構(gòu)件和插件時(shí)是分開來配置的,所以如果我們也希望插件的下載也通過我們的本地倉庫來下載,那么我們就需要配置pluginRepository.

      紅色字體部分就是我們之前安裝的Nexus的地址, 這個(gè)地址可以是你們公司局域網(wǎng)內(nèi)部的一臺(tái)倉庫服務(wù)器.

      <releases> <enabled>true</enabled></releases>這個(gè)標(biāo)簽的作用是設(shè)定是否允許下載 

      release版本的載構(gòu)件, 同樣snapshots標(biāo)簽可以設(shè)定是否允許下載snapshot版本的構(gòu)件.

      通常,我們不建議下載snapshot版本的構(gòu)件,因?yàn)樗遣环€(wěn)定的版本, 除非你有特殊的需

      求.

      構(gòu)件部署

       

      有些時(shí)候我們需要部署構(gòu)件到Nexus的3rd party, 比如我們?cè)谥醒雮}庫找不到我們需要的構(gòu)件, 我們可以通過Nexus的UI來上傳構(gòu)件:

      點(diǎn)擊左邊菜單欄的 Repositories, 然后點(diǎn)擊右邊界面的3rd party, 選擇界面下方的Artifact Upload, 這個(gè)時(shí)候出現(xiàn)以下界面:

       

      上傳構(gòu)件需要兩個(gè)步驟,一個(gè)是定義文件的上傳,再就是構(gòu)件的實(shí)體文件.

      第一部分定義文件可以是POM文件, 這也是比較推薦的方式, 如果沒有pom文件,可以

      選擇以參數(shù)的形式輸入.

      第二部分是上傳構(gòu)件的實(shí)體文件,這里簡(jiǎn)單說一下Classifier和Extension, 這兩個(gè)都是選

      填相, Classifier用來區(qū)別同功能的構(gòu)件用于不同的場(chǎng)景, 比如這個(gè)構(gòu)件是分別針對(duì)JDK14

      和JDK15做了2個(gè)功能一樣的Jar, 這個(gè)時(shí)候你就需要指定這個(gè)構(gòu)件的Classifier為JDK14

      還是JDK15. Extension是指擴(kuò)展名,如果不提供,那么會(huì)自動(dòng)取這個(gè)構(gòu)件的Packaging Type

      作為擴(kuò)展名, 比如 ear, jar, war 等等. (Packaging Type是在第一步中通過pom文件或者手

      工輸入得到的)

       

      剛才說了3rd party的部署, 關(guān)于releases 和 snapshots的UI部署也是一樣的操作過程.

      我們之前也講過, 這里的releases和snapshots是用來部署我們自己的項(xiàng)目構(gòu)件的, 通過

      UI部署是可以,但是不是最高效的, 我們可以通過配置Maven來自動(dòng)部署我們的項(xiàng)目構(gòu)

      件,這也是我們建立自己的倉庫的一個(gè)非常重要的原因, 下面就讓我們看看如何配置:

      首先需要在POM文件中加入以下代碼:

      <project>  
      ...   
      <distributionManagement>  
        <repository>  
          <id>nexus-releases</id>  
            <name>Nexus Release Repository</name>  
            <url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>  
        </repository>  
        <snapshotRepository>  
          <id>nexus-snapshots</id>  
          <name>Nexus Snapshot Repository</name>  
          <url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>  
        </snapshotRepository>  
      </distributionManagement>  
      ...   
      </project>  
      這里配置,讓Maven知道當(dāng)我要發(fā)布release版本或者snapshot版本是需要發(fā)布到哪個(gè)地址.

      然后我們需要在setting.xml里面配置一下Nexus的賬號(hào)和密碼:

      <settings>  
      ...   
      <servers>  
        <server>  
          <id>nexus-releases</id>  
          <username>admin</username>  
          <password>admin123</password>  
        </server>  
        <server>  
          <id>nexus-snapshots</id>  
          <username>admin</username>  
          <password>admin123</password>  
        </server>     
      </servers>  
      ...   
      </settings>
      到此為止, 我們就可以通過命令mvn deploy或者通過IDE的可視化界面點(diǎn)擊deploy來發(fā)布我們項(xiàng)目到本地倉庫了. 通過這種方式我們可以很方便的進(jìn)行模塊間的依賴開發(fā), 在后面的文章中我會(huì)詳細(xì)介紹如何通過snapshot來讓我們的依賴開發(fā)變得簡(jiǎn)單.

       

      小結(jié)
      本文介紹了Maven倉庫, 如何通過Nexus建立自己本地倉庫, 通過和遠(yuǎn)程倉庫的比較, 我們知道Nexus給我?guī)砗芏喾奖阒?  方便我們管理, 方便我們的項(xiàng)目構(gòu)件部署, 項(xiàng)目的依賴開發(fā)等. 還在等什么, 創(chuàng)建你自己的倉庫吧.

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多