1. 程式人生 > >Nexus 3.x 搭建本地 Maven 私有倉庫

Nexus 3.x 搭建本地 Maven 私有倉庫

本文首發於我的部落格,歡迎訪問

官方介紹:

10 million developers trust Nexus

來個全套的,私有倉庫搭建–>程式碼上傳–>遠端依賴

系統 環境:windows 64

軟體版本:Nexus Respository Manager OSS 3.x

無論安裝還是啟動,非管理員使用者必須以 管理員身份 執行命令列,管理員身份,管理員!重要說三遍

安裝時提示:

Could not
open SCManager.

不用想了,以管理員身份重新開啟命令列吧

下載安裝

自行下載安裝包 Nexus Repository Manager

替你們找好 免費版

假設,安裝包解壓路徑為D:\IDE\nexus-3.9.0-01-win64\nexus-3.9.0-01

  1. 命令:進入解壓路徑:
C:\Windows\system32>cd D:\IDE\nexus-3.9.0-01-win64\nexus-3.9.0-01\bin
  • 新增全路徑到環境變數,直接執行命令

    1. 安裝:
nexus.exe/install

當看到下面的提示,恭喜,成了

Installed service 'nexus'
.

倉庫服務操作

只要 想對倉庫做些事兒,就得 以管理員身份登入

下面倆命令挺重要的,記住

開啟服務

nexus.exe/start

成功提示

Starting service 'nexus'.
  1. 等待大概 5-10 秒左右,啟動需要時間
    • 埠號 『8081』
    • 在瀏覽器位址列輸入 『你自己的 ip地址:8081』,或者 『localhost:8081』 -
    • 進入 倉庫管理頁面
localhost:8081
192.168.13.32:8081

停止服務

nexus.exe/stop

成功提示如下:

Stopping service 'nexus'.
Service stopped

上面的內容,記不住也沒關係

倉庫搭建

登入

管理員身份:user: admin pd: admin123,預設的,可以修改密碼

倉庫建立

丟個圖:

既然要 Maven 倉庫,當然選擇 Maven 了

可以創建出三種不同型別的倉庫
再丟個圖:

最簡單,不用任何配置的當屬 hosted ,其他兩種自行感受,我們以最簡單最直接最快看到結果為目的

倉庫名稱 不支援中文(廢話)

倉庫來了:

點進去,看看 倉庫地址吧

現在,倉庫有了,地址有了,該釋出 『遠端依賴包』 了

程式碼上傳

資訊配置

build.gradle檔案

重要資訊:repository,pom

repository 包含:倉庫地址,使用者資訊

pom 包含 上傳到倉庫後,我們使用的 『遠端依賴 』資訊

apply plugin: 'maven'

uploadArchives {
    repositories.mavenDeployer {
        repository(url:"http://localhost:8081/repository/Test1/") {
            authentication(userName:"admin", password:"admin123")
        }
        // 以com.android.support:appcompat-v7:25.1.0為對比
        pom.version="0.0.1" // 對應版本號 25.1.0
        pom.artifactId="virtualapk" // 對應 appcompat-v7
        pom.groupId="com.android.support" // com.android.support
    }
}

上傳

Gradle –> 待上傳module –>upload–>uploadArchives

過程不說了,沒啥點

看結果,丟圖

有人說,呀,我配置錯了,想刪了重新上傳,咋辦(別意外,我自己就遇到過)

別急,看這:
選中你的版本號,然後右側刪除,再重新整理一下,哦了

遠端依賴

這裡的遠端的意思是:不是我本地磁盤裡的

配置 遠端倉庫地址

不配這個地址,你就等著吧,預設的遠端公共倉庫根本沒有

工程.gradle 檔案

allprojects {
    repositories {
       ....
       //此處的遠端倉庫地址就是上面上傳的地址
        maven { url "http://localhost:8081/repository/TEST/" }
    }
}

當然,如果只有個別的 module 需要本地倉庫 依賴,配到需要的 module 裡就好了。

依賴語法

跟 正常的遠端依賴一樣,沒區別

implementation 'groupId:artifactId:version'

implementation 'com.android.support:virtualapk:0.0.1'

同步一下

再驗證一下

jar 包都有了,還能說啥

補充一句:自己的私有倉庫提供給其他人用的話,把localhost 快取 你自己的ip 地址