1. 程式人生 > >Maven倉庫管理-Nexus(轉帖後加強版)

Maven倉庫管理-Nexus(轉帖後加強版)

前面我講到為什麼要使用Maven, Maven的安裝,以及如何與IDE整合等,前面的介紹可以認為是一個Hello World,教你如何利用Maven來進行專案開發,如何結合IDE實現一鍵式DEBUG,從現在開始我們開始深入探討Maven的一些高階內容。

這一個章節,我分兩部分來介紹,首先介紹一下Maven的倉庫,然後在說一下如何通過Nexus來建立我們自己的倉庫,以及如何使用。

Maven倉庫

在以前使用Ant的時候,我們會建立一個lib目錄在存放我們的jar包,比如專案所依賴的第三方包,每建立一個專案都要建立一個lib,不停的做copy工作,不僅是對於磁碟的浪費,而且也造成了版本管理上的麻煩。而且我們還需要通過提交到svn上來對lib進行管理,但是svn對於這種二進位制檔案的管理並不出色。

Maven倉庫的初中就是為了解決這個問題,是所有常用的第三方包的集中營。這樣所有的Maven專案就可以從這個倉庫中獲取所需要的資源,Maven倉庫中對jar通過Group Id, Atifact Id, version 來管理,所以Maven專案可以很方便的進行依賴管理。你不需要自己來管理這個龐大的資源倉庫,當然你可以建立一個公司層面的倉庫管理器,這個我在這個章節的後面會介紹。

Maven倉庫的兩個概念:本地倉庫和遠端倉庫

本地倉庫是遠端倉庫的一個緩衝和子集,當你構建Maven專案的時候,首先會從本地倉庫查詢資源,如果沒有,那麼Maven會從遠端倉庫下載到你本地倉庫。這樣在你下次使用的時候就不需要從遠端下載了。如果你所需要的jar包版本在本地倉庫沒有,而且也不存在於遠端倉庫,Maven在構建的時候會報錯,這種情況可能發生在有些jar包的新版本沒有在Maven倉庫中及時更新。

Maven預設的本地倉庫地址為${user.home}/.m2/repository 。也就是說,一個使用者會對應的擁有一個本地倉庫。當然你可以通過修改${user.home}/.m2/settings.xml配置這個地址:

Xml程式碼

  1. <settings>  
  2.   …   
  3.   <localRepository>D:/java/repository</localRepository>  
  4.   …   
  5. </settings>  

如果你想讓所有的使用者使用統一的配置那麼你可以修改Maven主目錄下的setting.xml:

${M2_HOME}/conf/setting.xml

還可以通過在執行時指定目錄,但是並不推薦這麼做:

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

當我們建立一個簡單的Maven專案後(只需要在pom.xml配置好依賴),執行mvn clean install就可以把專案構建好,不需要我們手工下載任何jar,這全靠中央倉庫的存在,它會自動從倉庫下載。這個倉庫的定義是在${M2_HOME}/lib/maven-2.0.10-uber.jar裡面。你可以在裡面找到/org/apache/maven/project/pom-4.0.0.xml這個檔案,在這個檔案裡面定義了中央倉庫的地址:

  1. <repositories>  
  2.   <repository>  
  3.     <id>central</id>  
  4.     <name>Maven Repository Switchboard</name>  
  5.     <layout>default</layout>  
  6.     <url>http://repo1.maven.org/maven2</url>  
  7.     <snapshots>  
  8.       <enabled>false</enabled>  
  9.     </snapshots>  
  10.   </repository>  
  11. </repositories>  

在POM中配置遠端倉庫

下面我介紹下如何在pom.xml裡面配置遠端倉庫,我們需要在什麼時候配置遠端倉庫呢?當你連線中央倉庫的速度比較慢時,或者你為你的公司搭建了自己的倉庫,比如Nexus倉庫管理(後面我會介紹),又或者你蘇需要的jar存在另外一個公共倉庫,比如我們配置一個國內的映象地址:

  1. <project>  
  2. …   
  3.   <repositories>  
  4.     <repository>  
  5.       <id>maven-net-cn</id>  
  6.       <name>Maven China Mirror</name>  
  7.       <url>http://maven.net.cn/content/groups/public/</url>  
  8.       <releases>  
  9.         <enabled>true</enabled>  
  10.       </releases>  
  11.       <snapshots>  
  12.         <enabled>false</enabled>  
  13.       </snapshots>  
  14.     </repository>  
  15.   </repositories>  
  16.   <pluginRepositories>  
  17.     <pluginRepository>  
  18.       <id>maven-net-cn</id>  
  19.       <name>Maven China Mirror</name>  
  20.       <url>http://maven.net.cn/content/groups/public/</url>  
  21.       <releases>  
  22.         <enabled>true</enabled>  
  23.       </releases>  
  24.       <snapshots>  
  25.         <enabled>false</enabled>  
  26.       </snapshots>       
  27.     </pluginRepository>  
  28.   </pluginRepositories>  
  29. …   
  30. </project> 

這裡我們可以看到,允許配置多個repository和 plugin repository,<releases><enabled>true</enabled></releases>告訴Maven可以從這個倉庫下載releases版本的構件,而<snapshots><enabled>false</enabled></snapshots>告訴Maven不要從這個倉庫下載snapshot版本的構件,之所以不讓你從這個倉庫下載snapshot版本,是因為這些版本是不穩定的,但是snapshot版本在我們內部專案開發的時候可是作用巨大,後面的問文章我會討論這個問題。至於<pluginRepositories>,這是配置Maven從什麼地方下載外掛構件,Maven的所有行為都是通過外掛來完成的,其內部配置與<repository>類似,這裡就不多說了。

儘管pom.xml中可以方便的哦配置中央倉庫,但是我並不推薦大家這麼做,尤其是在大的公司中,因為一個公司會有很多的專案,如果每個專案都這樣配置,那麼又開始做重複的copy工作了,如何解決呢,我們往下走

在settings.xml中配置遠端倉庫

Pom.xml的作用範圍是一個專案,一個公司不可能只做一個專案,那麼為了避免重複配置,那麼我們需要把一些公共資訊配置在setting.xml中。但是setting.xml中並不支援<repositories>及<pluginRepositories>,為了解決這個問題我們使用profile:

  1. <settings>  
  2.   …   
  3.   <profiles>  
  4.     <profile>  
  5.       <id>myProfiel</id>  
  6.       <!—在這裡加入<repositories>及<pluginRepositories>–>  
  7.     </profile>  
  8.   </profiles>  
  9.   <activeProfiles>  
  10.     <activeProfile> myProfiel </activeProfile>  
  11.   </activeProfiles>  
  12.   …   
  13. </settings>  

這裡通過<activeProfile>元素來啟用這個profile,這樣我們就可以全域性的使用這個配置,不再需要為每個POM做重複的配置了。

在實際的操作過程中,這裡我們最好不要配置遠端倉庫,最好能夠通過nexus建立公司或者組織自己的倉庫,然後這把把地址指向自己的倉庫,後面我會介紹為什麼要這麼做,怎麼做。

配置映象

如果你想覆蓋中央倉庫的預設地址,那麼這裡我們就會使用的映象了,還在setting.xml裡面配置:

  1. <settings>  
  2. …   
  3.   <mirrors>  
  4.     <mirror>  
  5.       <id>maven-net-cn</id>  
  6.       <name>Maven China Mirror</name>  
  7.       <url>http://maven.net.cn/content/groups/public/</url>  
  8.       <mirrorOf>central</mirrorOf>  
  9.     </mirror>  
  10.   </mirrors>  
  11. …   
  12. </settings>  

這裡解釋一下<mirrorOf>,表示只為central倉庫做映象,如果想為所有的倉庫做映象那麼可以改為:<mirrorOf>*</mirrorOf>

如果你看到這裡,請先不要著急,實際的專案經驗告訴我,只是這些還不夠,我們需要更快捷和高效的管理:

利用Nexus來構建企業級Maven倉庫

Nexus簡介

Nexus是Maven倉庫管理器,用來搭建一個本地倉庫伺服器,這樣做的好處是便於管理,節省網路資源,速度快,還有一個非常有用的功能就是可以通過專案的SNAPSHOT版本管理,來進行模組間的高效依賴開發,下面會一一描述。

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

  1. 網速慢,你可能需要花很長的時間來下載你所需要的jar
  2. 如果你的公司很大,有幾百甚至幾千人再用Maven,那麼這些人都去通過中央倉庫來獲取jar,那麼這是一個很大的資源浪費
  3. 如果存在模組之間的依賴開發,你的snapshot版本是不能夠被你的夥伴很方便的獲取。
  4. 在實際開發過程中,有些jar的版本可能在中央倉庫裡面不存在,或者更新不及時,你是獲取不到這個jar的。

所有以上問題,通過Nexus這個日益流行的倉庫管理器可以輕鬆的解決。

  1.  
    1. 這個倉庫是本地的,下載的速度是從遠端下載不可比的。
    2. 可以為你公司所有的Maven使用者服務,可以進行統一管理
    3. 後面我會介紹如何通過nexus來進行存在模組依賴的專案的開發
    4. 你可以新增自己的第三方包。

安裝Nexus

Nexus提供了兩種安裝方式,一種是內嵌Jetty的bundle,只要你有JRE就能直接執行。第二種方式是WAR,你只須簡單的將其釋出到web容器中即可使用。

1)Bundle方式安裝

解壓nexus-webapp-1.3.4-bundle.zip 至任意目錄,如D:/tools ,轉到目錄D:/tools/nexus-webapp-1.3.4/bin/jsw/windows-x86-32 ,執行Nexus.bat ,如果你是在linux下安裝,那麼就下載nexus-webapp-1.3.4-bundle.tar.gz,解壓後轉到${NEXUS_HOME}/ nexus-webapp-1.3.3/bin/jsw/linux-x86-32,它還支援solaris,macos等作業系統。當你看到“Started [email protected]:8081”之後,說明Nexus啟動成功了,然後開啟瀏覽器,訪問http://127.0.0.1:8081/nexus,通過admin的帳號(admin)和密碼(admin123)登入你會看到如下的頁面:

如果有新版本釋出,會有提示在預設頁面上。

這裡,可以管理倉庫,配置Nexus系統,管理任務,管理使用者,角色,許可權,檢視系統的RSS源,管理及檢視系統日誌,等等。

War方式安裝

你可以同過war的方式以web應用的形式釋出到你的應用伺服器,比如tomcat。你所要做的就是下載war版本的檔案,然後放到應用伺服器的釋出目錄即可,這裡就不多講了。

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

配置中央倉庫

先看一下介面:

在左邊選單欄裡選擇Repositories,然後會出現右邊的畫面,右邊上半部分是列出來的repository,黑體字是型別為group的repository. 這裡簡單介紹下幾種repository的型別:

  • hosted,本地倉庫,通常我們會部署自己的構件到這一型別的倉庫。比如公司的第二方庫。
  • proxy,代理倉庫,它們被用來代理遠端的公共倉庫,如maven中央倉庫。
  • group,倉庫組,用來合併多個hosted/proxy倉庫,當你的專案希望在多個repository使用資源時就不需要多次引用了,只需要引用一個group即可。

Maven central是Maven的中央倉庫,點選它並選擇configuration標籤欄,我們會看到下面的頁面:

這裡有幾個專案是我們可能會經常用到的:

  1. Override local storage location: 在這個選項你可以配置你的Nexus本地倉庫的存放地址,用來覆蓋其預設的存放地址
  2. Remote storage location: 這裡是遠端倉庫的地址,為了提高代理速度,你可以修改為國內的映象地址。預設值是http://repo1.maven.org/maven2/
  3. Download remote indexes: 這裡配置是否下載遠端索引檔案,模式是false, 建議配置為true,這樣我們便可以通過索引檔案來搜尋我們需要的構件。

新增代理倉庫

Maven central是一個比較大的代理倉庫,如果你需要新增的一個代理倉庫,那麼可以在點選左邊慘淡欄裡面的Repositories,然後右邊的頁面點選add -> add proxy repository, 之後出現以下頁面:

填寫相關資訊儲存即可。通常情況下,使用預設的代理倉庫已經能夠滿足大部分專案的需求了, 只有在特殊需求的情況下才會參加代理倉庫.

管理本地倉庫

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

  1. Releases: 這裡存放我們自己專案中釋出的構建, 通常是Release版本的, 比如我們自己做了一個FTP Server的專案, 生成的構件為ftpserver.war, 我們就可以把這個構建釋出到Nexus的Releases本地倉庫. 關於符合釋出後面會有介紹.
  2. Snapshots: 這個倉庫非常的有用, 它的目的是讓我們可以釋出那些非release版本, 非穩定版本, 比如我們在trunk下開發一個專案,在正式release之前你可能需要臨時釋出一個版本給你的同伴使用, 因為你的同伴正在依賴你的模組開發, 那麼這個時候我們就可以釋出Snapshot版本到這個倉庫, 你的同伴就可以通過簡單的命令來獲取和使用這個臨時版本.
  3. 3rd Party: 顧名思義, 第三方庫, 你可能會問不是有中央倉庫來管理第三方庫嘛, 沒錯, 這裡的是指可以讓你新增自己的第三方庫, 比如有些構件在中央倉庫是不存在的. 比如你在中央倉庫找不到Oracle 的JDBC驅動, 這個時候我們就需要自己新增到3rd party倉庫.
  4. 你也可以建立自己的本地倉庫,點選Repository面板上方的Add按鈕,然後選擇Hosted Repository,然後在下方的配置面板中輸入相關資訊, 這裡我們不再需要填寫遠端倉庫地址,根據自己的需要選擇Release或者Snapshot,如圖:

Maven倉庫組

倉庫組的概念是Maven沒有的,通過前面介紹可以瞭解到, 我們可以建立多個proxy代理倉庫,hosted本地倉庫, 如果沒有倉庫組的概念,我們如果需要引用這些倉庫的是時候需要一一加入到我們的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中預設了2個倉庫組,public repositories和public snapshot repositories. 如圖:

這個倉庫組預設包含本地倉庫Releases, snapshots, 3rd party和代理倉庫Maven Central. 你可以在Configuration配置頁新增倉庫到這個倉庫組. 如果需要你還可以建立一個倉庫組,如圖:

點選 Add->Repository Group

出現New Repository Group介面後,填入ID, name 等相關資訊, 在右邊Available Repositories 欄裡可以選擇你要新增的倉庫到你新建的倉庫組. 

通過Nexus搜尋構件

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

要是用搜索功能, 必須要有索引檔案, Nexus預設是不建立索引檔案的,因為像中央倉庫這樣的索引檔案的建立需要耗費比較大的網路資源,僅索引檔案就要幾十兆. 要開啟中央倉庫的索引檔案下載功能需要在Maven Central的配置頁面, 把Download Remote Indexes選擇true. 如圖:

這樣設定以後, Nexus會自動從遠端中央倉庫下載索引檔案, 為了檢驗索引檔案自動下載是否生效,可以卻換到Browse:

如果出現先以上資料夾,那說明索引檔案已經建立.

下面我試一下搜尋功能, 在左邊選單欄裡面有個Artifact Search, 在輸入框裡面輸入你想要搜尋的構件名字,比如: testing, 那麼查詢結果如下:

這是模糊查詢的結果,當然如果你知道更多資訊,比如版本號等,你可以使用高階搜尋,點選高階搜尋後,右邊介面會提供集中搜索方式:keyword, classname, GAV, checksum

比如我們這裡選擇GAV模式, 而且我只知道artiface name : testng和版本號5.8, 其他的我不知道, 那麼就在artifact 和 version處分別輸入testng 和 5.8 , 搜尋結果如下:

你如果你不知道知道構件的名稱, 只知道classname, 那麼你也可以通過class name 的方式搜尋,這裡就不再贅述

當你選擇一項搜尋結果,在頁面的下方會出現這個構件的詳細資訊, 並且會列出這個構件的Maven依賴配置, 你可以直接拷貝到你的pom檔案中使用,這是個非常實用的功能:

在Maven中使用Nexus

   到此為止我們介紹瞭如何安裝和使用Nexus以及其基本配置, 下面我們介紹下如何讓Maven來使用Nexus本地倉庫用來替代使用遠端倉庫. 在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在使用第三方構件和外掛時是分開來配置的,所以如果我們也希望外掛的下載也通過我們的本地倉庫來下載,那麼我們就需要配置pluginRepository.

紅色字型部分就是我們之前安裝的Nexus的地址, 這個地址可以是你們公司區域網內部的一臺倉庫伺服器.

<releases> <enabled>true</enabled></releases>這個標籤的作用是設定是否允許下載 

release版本的載構件, 同樣snapshots標籤可以設定是否允許下載snapshot版本的構件.

通常,我們不建議下載snapshot版本的構件,因為它是不穩定的版本, 除非你有特殊的需

求.

構件部署

有些時候我們需要部署構件到Nexus的3rd party, 比如我們在中央倉庫找不到我們需要的構件, 我們可以通過Nexus的UI來上傳構件:

點選左邊選單欄的 Repositories, 然後點選右邊介面的3rd party, 選擇介面下方的Artifact Upload, 這個時候出現以下介面:

上傳構件需要兩個步驟,一個是定義檔案的上傳,再就是構件的實體檔案.

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

選擇以引數的形式輸入.

第二部分是上傳構件的實體檔案,這裡簡單說一下Classifier和Extension, 這兩個都是選

填相, Classifier用來區別同功能的構件用於不同的場景, 比如這個構件是分別針對JDK14

和JDK15做了2個功能一樣的Jar, 這個時候你就需要指定這個構件的Classifier為JDK14

還是JDK15. Extension是指副檔名,如果不提供,那麼會自動取這個構件的Packaging Type

作為副檔名, 比如 ear, jar, war 等等. (Packaging Type是在第一步中通過pom檔案或者手

工輸入得到的)

剛才說了3rd party的部署, 關於releases 和 snapshots的UI部署也是一樣的操作過程.

我們之前也講過, 這裡的releases和snapshots是用來部署我們自己的專案構件的, 通過

UI部署是可以,但是不是最高效的, 我們可以通過配置Maven來自動部署我們的專案構

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

首先需要在POM檔案中加入以下程式碼:

  1. <project>  
  2. …   
  3. <distributionManagement>  
  4.   <repository>  
  5.     <id>nexus-releases</id>  
  6.       <name>Nexus Release Repository</name>  
  7.       <url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>  
  8.   </repository>  
  9.   <snapshotRepository>  
  10.     <id>nexus-snapshots</id>  
  11.     <name>Nexus Snapshot Repository</name>  
  12.     <url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>  
  13.   </snapshotRepository>  
  14. </distributionManagement>  
  15. …   
  16. </project>  

這裡配置,讓Maven知道當我要釋出release版本或者snapshot版本是需要釋出到哪個地址.

然後我們需要在setting.xml裡面配置一下Nexus的帳號和密碼:

  1. <settings>  
  2. …   
  3. <servers>  
  4.   <server>  
  5.     <id>nexus-releases</id>  
  6.     <username>admin</username>  
  7.     <password>admin123</password>  
  8.   </server>  
  9.   <server>  
  10.     <id>nexus-snapshots</id>  
  11.     <username>admin</username>  
  12.     <password>admin123</password>  
  13.   </server>     
  14. </servers>  
  15. …   
  16. </settings>

到此為止, 我們就可以通過命令mvn deploy或者通過IDE的視覺化介面點選deploy來發布我們專案到本地倉庫了. 通過這種方式我們可以很方便的進行模組間的依賴開發, 在後面的文章中我會詳細介紹如何通過snapshot來讓我們的依賴開發變得簡單.

小結

本文介紹了Maven倉庫, 如何通過Nexus建立自己本地倉庫, 通過和遠端倉庫的比較, 我們知道Nexus給我帶來很多方便之處,  方便我們管理, 方便我們的專案構件部署, 專案的依賴開發等. 還在等什麼, 建立你自己的倉庫吧.

--------------------------------------------------

補充提示:

一、發現配置後,下載構件拋異常。

0-10-3 下午05時09分43秒: Build error for /com.new.ipdd.domain.entity/pom.xml; org.apache.maven.plugin.PluginResolutionException: Plugin org.apache.maven.plugins:maven-resources-plugin:2.4.1 or one of its dependencies could not be resolved: Missing:
----------
1) org.apache.maven.plugins:maven-resources-plugin:maven-plugin:2.4.1

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.apache.maven.plugins -DartifactId=maven-resources-plugin -Dversion=2.4.1 -Dpackaging=maven-plugin -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.apache.maven.plugins -DartifactId=maven-resources-plugin -Dversion=2.4.1 -Dpackaging=maven-plugin -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

----------
1 required artifact is missing.

for artifact:
  org.apache.maven.plugins:maven-resources-plugin:maven-plugin:2.4.1

二、主要原因是配置nexus裡面的 Public Repositories 順序和條件出錯,導致不能下載構件。

這個是正確的配置順序,左邊的是正在使用的定義好的倉庫組,一邊是可選的。下載構件的順序是先在本地releases找有沒有,再snapshots,再3rd party,最後是本地機子都沒有構件就到遠端(外網)提供的網站下載構件。

好多公司處於安全考慮,用代理上網,而nexus 經常需要往maven repository中心下載東西,所以需要給nexus設定代理。 開始沒找到地方,後來發現可以從nexus後臺管理器介面上直接設定,地方很隱蔽:

登陸後進入管理頁面,從左邊選單欄選擇Server 開啟右邊tab頁,發現還是找不到,彆著急,仔細找會發現有行: default http proxy settings  前面有個checkbox 未勾選, 速度勾選之,馬上出現了您熟悉的  proxy host,proxy port , username , passowrd.  okay 代理設定完成,現在nexus能通過網際網路從maven repository中心下載東西了!

-----------------------------------------------------

linux 下安裝部署 nexus

nexus-oss-webapp-1.8.0  -- 包含了nexus的執行環境和應用程式

sonatype-work --包含了你自己的配置和資料

2.啟動nexus

    在上面提到,nexus的執行環境在nexus-oss-webapp-1.8.0目錄,下面就進入這個目錄啟動: Linux程式碼      1、啟動nexus前的操作:nexus支援32位和64位,如果選擇64位的,請最好選擇1.6的jdk,因為1.4的jdk不支援64位。           選擇64位,具體命令:   #cd nexus-oss-webapp-1.8.0/bin/jsw/linux-x86-64/ # java -version java version "1.4.2_12" (提示當前的jdk版本是jdk1.4) # export PATH=/opt/jdk1.6.0_20/bin:$PATH (指向引用1.6的jdk)
# cd nexus-oss-webapp-1.8.0/bin/jsw/linux-x86-32/
   2、在這個目錄下包含了一個資料夾和三個檔案:lib、nexus、platform和wrapper,其中nexus就是啟動命令。
        執行Linxu程式碼                # ./nexus 
        得到nexus到提示命令  如 start,stop,status,restart 等。
       輸入Linux程式碼
# ./nexus
             # ./nexus start         啟動nexus,如果成功則提示:            Starting Nexus OSS...
           Started Nexus OSS.
  3、
開啟nexus
    在瀏覽器中訪問:http://localhost:8081/nexus

相關推薦

Maven倉庫管理-Nexus(加強)

前面我講到為什麼要使用Maven, Maven的安裝,以及如何與IDE整合等,前面的介紹可以認為是一個Hello World,教你如何利用Maven來進行專案開發,如何結合IDE實現一鍵式DEBUG,從現在開始我們開始深入探討Maven的一些高階內容。 這一個章節,我分兩

命令列maven倉庫管理nexus的安裝教程

1.     Maven倉庫:放置所有JAR檔案(WAR,ZIP,POM等等)的地方,所有Maven專案可以從同一個Maven倉庫中獲取自己所需要的依賴JAR,這節省了磁碟資源。 簡言之,Maven倉庫能幫助我們管理構件(主要是JAR)。 2.     Nexus是maven倉庫管理器,可以用於管理多個Ma

一起學Maven(Maven倉庫管理器之應用Nexus)

注:本博文是接著上一章節繼續講解 Nexus-私有倉庫的配置     點選左邊導航欄的Repositories選項,會顯示一個所有倉庫及倉庫組的列表,Type欄位的值有group,hosted,proxy,virtual(在Maven1中使用,這裡不需要關心),如圖14所示

微信開發準備(一)——Maven倉庫管理新建WEB項目

情況 IT 分享圖片 dex 記錄 項目依賴 完全 大致 .com 在我們的項目開發中經常會遇到項目周期很長,項目依賴jar包特別多的情況,所以我們經常會在項目中引入Maven插件,建立起Maven項目,今天我就記錄一個簡單的Maven項目建立的簡單流程! ①Maven基礎

微信開發準備(一)--Maven倉庫管理新建WEB專案

轉自:http://www.cuiyongzhi.com/post/13.html 在我們的專案開發中經常會遇到專案週期很長,專案依賴jar包特別多的情況,所以我們經常會在專案中引入Maven外掛,建立起Maven專案,今天我就記錄一個簡單的Maven專案建立的簡單流程! ①Maven基礎專案的建立(前提

Maven倉庫管理

5.1. Maven倉庫概念 Maven倉庫就是用來儲存所有Maven共享構建的地方(所有開源專案jar包的存放地)。 使用者根據GAV座標去倉庫下載對應的構建(jar包): 構建(Jar包)一般存放的路徑規則為: groupId /artifactId

mavenMaven倉庫管理

原文地址: http://my.oschina.net/aiguozhe/blog/101537 首先介紹一下Maven的倉庫,然後在說一下如何通過Nexus來建立我們自己的倉庫,以及如何使用。 Maven 倉庫     在以前使用Ant的時候

Maven私服倉庫管理Nexus 3.x

Nexus是一個強大的倉庫管理器,極大地簡化了內部倉庫的維護和外部倉庫的訪問。 2016年4月6日Nexus 3.0版本釋出,相較2.x版本有了很大的改變: 對低層程式碼進行了大規模重構,提升效能,增加可擴充套件性以及改善使用者體驗。 升級介面,極大的簡化了使用者介

使用 Sonatype Nexus 3 搭建 Maven 私服、本地私有 Maven 倉庫,Gradle 打包 jar 、arr 自動上傳到 Nexus Maven 倉庫配置

1 下載 Nexus 3 官網截圖 注:Nexus 3 版本的執行需要 jdk1.8 解壓 得到 2 個資料夾 // Nexus 執行時所需要的檔案,如啟動指令碼 nexus-3.9.0-01 // Nexus生成的配置檔案,

Android業務組件化之Gradle和Sonatype Nexus搭建私有maven倉庫

Android 前言: 公司的業務組件化推進的已經差不多三四個月的時間了,各個業務組件之間的解耦工作已經基本完成,各個業務組件以module的形式存在項目中,然後項目依賴本地的module,多少有點不太利於項目的並行開發維護了,本質原因就是如果是依賴本地的,必須要將依賴

nexus倉庫管理以及權限控制

nexus 分倉庫 管理 隨著項目的不斷增多,需要對maven倉庫進行分庫管理,以及添加權限配置,一下是一些具體操作步驟:首先需要取消任何人登錄的權限1.創建releases倉庫根據需要是否創建snapshots倉庫,這裏需要強調一下snapshots倉庫只能存放快照文件,release只能存放r

Maven倉庫--Nexus的配置使用

我們 指定 作用 3rd profile 查找 項目組 sna -- 一、Nexus的作用   指定私服的中央地址、將自己的Maven項目指定到私服地址、從私服下載中央庫的項目索引、從私服倉庫下載依賴組件、將第三方項目jar上傳到私服供其他項目組使用。 二、Nexus倉庫

Spring MVC 常用Jar包官方下載地址(官方Maven倉庫

term apache water arch release details libs sdn glib http://blog.csdn.net/u014749862/article/details/48894409 spring:http://maven.sprin

maven(一) maven到底是個啥玩意~

大白 中心 最好 新的 區別 OS rate ner 命令行模式 轉載自:https://www.cnblogs.com/whgk/p/7112560.html 我記得在搞懂maven之前看了幾次重復的maven的教學視頻。不知道是自己悟性太低還是怎麽滴,就是搞不清楚,

maven(二) maven項目構建ssh工程(父工程與子模塊的拆分與聚合)

圖片 做的 bsp IT 是個 pan 有一種 junit img 出處:http://www.cnblogs.com/whgk/p/7121336.html 前一節我們明白了maven是個什麽玩意,這一節就來講講他的一個重要的應用場景,也就是通過maven將一個ssh

Maven如何手動新增jar包到本地Maven倉庫

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

nexus搭建私服maven倉庫

下載sonatype nexus repository manager 3.x oss版 下載地址:http://www.sonatype.com/download-oss-sonatype 安裝windows版進入bin目錄下執行: nexus.exe/install     

maven上傳jar包到nexus私服的存放路徑 以及 使用IDEA上傳jar包的步驟

tle default ase 配置 就是 步驟 bar con 默認 maven上傳jar包到nexus私服的方法,網上大神詳解很多,那麽上傳後的jar包存放到哪裏了呢? 在下使用nexus3.2.1版本,在本地搭建了私服,使用maven上傳jar包。最後

Maven倉庫查詢頁面(

查詢: 使用技巧: 1、通過上述站點查詢的包並取得POM資訊時要注意所在的倉庫地址,比如在2中查詢的包,而我們的專案預設沒有配置第三方遠端倉庫時,會出現:“Missing artifact ...”的錯誤。 2、解決上述問題方法如下:   

Centos 7 安裝maven倉庫Nexus

這篇博文記錄Nexus安裝過程。 一、下載 wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryMan