1. 程式人生 > >mvn deploy 上傳jar到Nexus私服

mvn deploy 上傳jar到Nexus私服

最近用shiro做了個許可權系統,大概包括兩個元件:認證中心、客戶端過濾器。主要流程是子系統接入過濾器jar包,攔截請求並獲取token,然後拿token去認證中心進行登入校驗或鑑權,然後返回相應的鑑權結果,等等之類的吧!!!


就是在上傳過濾器jar包時候遇到的一些規範和問題大概說下:

規範:

  • jar包的version字尾一般分為snapshot和release兩個命名方式。
    1. snapshot的意思是正在開發的、測試的、或者不穩定的程式
    2. reslease的意思是穩定的,正式的版本

eg.

    <groupId
>
cn.net.xxxx</groupId> <artifactId>bms-client-filter</artifactId> <version>1.0.1-SNAPSHOT</version>
  • 問題:
    上傳jar包是大概要有3個步驟:

    1、在本地maven settings.xml中新增server節點配置,當然前提是映象的配置要配置成私服的倉庫地址。
    比如:

<servers>
    <server>  
        <id>maven-releases</id
>
<username>admin</username> <password>111111</password> </server> <server> <id>maven-snapshots</id> <username>admin</username> <password>111111</password> </server
>
</servers>

2、專案pom.xml中新增如下內容

<distributionManagement>
  <repository>
    <id>maven-releases</id>
    <name>maven-releases</name>
    <url>maven-releases倉庫地址</url>
  </repository>

  <snapshotRepository>
    <id>maven-snapshots</id>
    <name>maven-snapshots</name>
    <url>maven-snapshots倉庫地址</url>
  </snapshotRepository>
</distributionManagement>   

3、在專案根目錄下執行

mvn clean deploy -X -Dmaven.test.skip=true

-X是列印debug日誌,可加可不加。

其中注意兩點:

1、version字尾一定要有(-SNAPSHOT或-RELEARSE)
2、settings.xml中配置的server節點名必須和pom中的id一樣(即maven-snapshot對應pom 中的maven-snappshot)