搭建Maven私服(Nexus)

1、下載和安裝

網址:http://www.sonatype.org/nexus/go/html

下載包:nexus-2.12.0-01-bundle.tar.gz
解壓包:tar -zxvf nexus-2.12.0-01-bundle.tar.gz
默認端口爲8081,如需修改請查看配置文件 conf/nexus.properties 
它自己不建議在root用戶下使用,若是咱們須要在root用戶下啓動服務,要先配置 bin/nexus 文件中的 RUN_AS_USER=rootbash

2、私服的啓動和配置

啓動maven

[root@localhost nexus-maven]# cd nexus-2.12.0-01/bin/
[root@localhost bin]# ./nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.
[root@localhost bin]# ./nexus status
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Nexus OSS is running (34504).
[root@localhost bin]#

啓動後訪問首頁: http://192.168.19.130:8081/nexus/index.html測試

登陸默認帳號/密碼 admin/admin123
 ui

二、打開 Repositories 將列表中全部Type爲proxy 的項目的 Configuration 中的 Download Remote Indexes 設置爲True url

三、將Releases倉庫的Deployment Policy設置爲*Allow ReDeploy
spa

四、設置 deployment 帳戶密碼

 code

五、在Central 倉庫上右鍵而後點擊 Repair Index 下載中心倉庫的索引文件,若干時間後,能夠點擊下邊的 Browse Index 便可看見下載的索引文件。server

固然咱們也避免不了會使用到一些第三方的 jar ,而這些jar包也不存在於互聯網上的maven中央倉庫中,這時咱們能夠手工添加jar 到咱們的私服中。
添加第三方 jar 以下:
xml

若是須要刪除,以下:)

3、本地項目配置引用私服

在項目的 pom.xml 中配置私庫地址,pom.xml 的下面添加:

<!-- 私有倉庫 -->
    <repositories>  
        <repository>  
            <id>public</id>  <!--這個ID須要與你的組group ID一致--> 
            <name>Public Repository</name>
            <url>http://192.168.19.130:8081/nexus/content/groups/public</url>   
        </repository>  
    </repositories> 

    <!-- 打包發佈 -->
    <distributionManagement>
        <repository>
            <id>releases</id><!--這個ID須要與你的release倉庫的Repository ID一致-->
            <url>http://192.168.19.130:8081/nexus/content/repositories/releases</url>
        </repository>

        <snapshotRepository>
            <id>snapshots</id><!--這個ID須要與你的snapshots倉庫的Repository ID一致-->
            <url>http://192.168.19.130:8081/nexus/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

在settings.xml 中配置 server 帳戶信息:

<servers>
     <server>
        <id>releases</id>
        <username>deployment</username>
        <password>dev123</password><!--這個密碼就是你設置的密碼-->
    </server>
    <server>
        <id>snapshots</id>
        <username>deployment</username>
        <password>dev123</password><!--這個密碼就是你設置的密碼-->
    </server>
  </servers>

須要說明一點:
pom.xml中同時配置了releases倉庫和snapshots倉庫時。
pom.xml文件開頭的版本配置1.0.0-SNAPSHOT爲build到snapshots庫,
pom.xml文件開頭的版本配置1.0.0 (不帶-SNAPSHOT) 的會build到releases庫,
若是隻配置了releases庫而版本號寫的是帶-SNAPSHOT的,build到最後一步會報400錯誤,由於它找不到對應的庫。

4、測試

一、新建一個簡單的maven項目,隨便寫個類。
在pom.xml 文件按上面 3、本地項目配置引用私服 方法添加 私有倉庫和打包發佈配置
而後使用命令 mvn deploy 發佈成功後,此時咱們在咱們的私服中就能夠看到發佈後的結果,以下:

二、再新建一個項目,或者使用已有的maven項目(最好使用別人的環境不一樣的電腦)。
在pom.xml 中和第1步同樣先配置私庫地址,而後添加第1步發佈後的 dependency 後,就能夠看到jar 被正常加載到工程中了。

參考資料

https://yq.aliyun.com/articles/7427

相關文章
相關標籤/搜索