Maven私服搭建及使用-Windows版


了解有限,目前只針對基礎功能介紹,持續更新

一、下載對應的版本(本例版本:nexus-3.7.1-02)

  https://www.sonatype.com/download-oss-sonatype

二、啟動服務,進入對應安裝目錄,按住shift右鍵,打開cmd命令行,執行nexus.exe /run

  我的Nexus目錄:NEXUS_HOME\nexus-3.7.1-02-win64\nexus-3.7.1-02\bin

  最后啟動成功提示如下,即可訪問http://192.168.1.168:8081/登錄,帳號admin 密碼admin123

 

三、頁面介紹

1.倉庫頁面

點擊導航Browse,這里是所有已經配置的倉庫

Name:

maven-central:maven中央庫,默認從https://repo1.maven.org/maven2/拉取JAR包,這個遠端地址可改,也可新建另外一個

maven-releases:私庫發行版JAR

maven-snapshots:私庫調試版本JAR

maven-public:倉庫分組,把上面三個倉庫組合在一起對外提供服務

Type:

proxy:代理遠端倉庫

hosted:本地Jar包

group:倉庫組

 

2.搜索功能

便於快速查找jar包,導航中選擇Search,可選擇多種類型的查找方式,比如按名稱、按版本、按倉庫組等,此功能是模糊查找

3.創建修改倉庫&倉庫組

點擊上方齒輪圖標,即可打開配置管理頁面,其中Repository欄為倉庫管理,下面只針對這里的Blob Stores、Repositories說明

Blob Stores:jar包存放路徑,默認存放在NEXUS_HOME/sonatype-work\nexus3\blobs\default下,可創建多個

Repositories:

  創建代理倉庫Proxy

    ①選擇Create repository創建倉庫

    ②選擇倉庫類型maven2(proxy)

      

 

    ③設置倉庫名稱

       

    ④設置倉庫版本,代理倉庫通常設置為releases

      

    ⑤配置下載存放路徑,默認是Blob Storesdefault

    ⑥配置代理倉庫地址,我是用阿里的

      

    以上完成后保存創建即可完成代理倉庫的創建

   創建本地倉庫(第三方、代理倉庫中沒有的jar都放這里)hosted,重復上面的流程,不同處如下

    ②選擇倉庫類型maven2(hosted)

    ④設置倉庫版本,releases或snapshots,兩者區別如下:

       有一個自己封裝的jar包,該jar包處於開發版,近期會不停的更新,版本為1.0,使用snapshots倉庫,今后jar包更新后,只需將新的包傳入到該倉庫,

       項目中會自動下載更新到這個包,無需修改版本號;用releases這個倉庫,每次變更jar包必須升級版本號,對應項目pom文件中要修改,否則新的jar包不會被下載

    ⑥此步改為,目的是可以上傳部署jar

      

  創建倉庫組group,重復上面的流程,不同處如下

    ②選擇倉庫類型maven2(group)

      ④設置將哪些倉庫歸類到一個組里

      

  到現在為止,Nexus倉庫部分操作完成

 四、使用倉庫

1.配置Maven settings.xml  

  配置中URL自行修改

 <mirrors>
    <mirror>
      <id>content</id>
      <mirrorOf>*</mirrorOf>
      <name>maven-public</name>
      <url>http://192.168.1.168:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>
<servers>
    <server>
      <id>nexus</id> <!--這個id用於上傳jar包-->
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>

2.在項目pom.xml中配置如下,目的:snapshots模式時,更新策略設置,非snapshots模式不用配置

  <distributionManagement>
        <snapshotRepository>
            <id>nexus</id>
            <url>http://192.168.1.168:8081/repository/maven-public/</url>
        </snapshotRepository>
        <repository>
            <id>nexus</id>
            <url>http://192.168.1.168:8081/repository/maven-public/</url>
        </repository>
    </distributionManagement>
  
<repositories>
 <repository>
            <id>maven-public</id>
            <url>http://192.168.1.168:8081/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
                <!--該元素指定更新發生的頻率。Maven會比較本地POM和遠程POM的時間戳。這里的選項是:always(一直),daily(默認,每日),interval:X(這里X是以分鍾為單位的時間間隔),或者never(從不)。 -->
            </snapshots>
        </repository>
</repositories>

3.項目中pom引用jar

  引用快照版,他會去私服中倉庫類型為SNAPSHOT里去找jar,注意版本后面一定要加-SNAPSHOT,發布版直接寫<version>1.27</version>;

  發布快照版jar后,需本地執行Maven test或者Maven install等操作才會更新jar

<dependency>
  <groupId>org2.kaola</groupId>
  <artifactId>fastdfs</artifactId>
  <version>1.27-SNAPSHOT</version>
</dependency>

五、Jar包發布

使用方式:直接cmd中輸入如下命令

1.發布releases版

mvn deploy:deploy-file -DgroupId=org.kaola -DartifactId=fastdfs -Dversion=1.25 -Dpackaging=jar -Dfile=D:\fastdfs.jar -Durl=http://192.168.1.168:8081/repository/maven-releases/ -DrepositoryId=nexus

2.發布snapshots版

mvn deploy:deploy-file -DgroupId=org2.kaola -DartifactId=fastdfs -Dversion=1.27-SNAPSHOT -Dpackaging=jar -Dfile=D:\fastdfs-SNAPSHOT.jar -Durl=http://192.168.1.168:8081/repository/maven-snapshots/ -DrepositoryId=nexus

需要自定義內容:

DgroupId:包分組,例如org.kaola,pom文件中<groupId>org.kaola</groupId>配置

DartifactId:文件名,pom文件中<artifactId>fastdfs</artifactId>配置

Dversion:版本,pom文件中<version>1.27-SNAPSHOT</version>配置

Dfile:上傳文件本地路徑

Durl:倉庫路徑,上傳到哪個倉庫

DrepositoryId:上面步驟4-1中配置的id

 

 

 

    

 

     

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM