1. 程式人生 > >項目管理工具Maven6

項目管理工具Maven6

項目管理工具Maven6

九、私服nexus(一)nexus安裝

  1. 安裝nexus
    將資源下的私服文件夾中的nexus-2.12.0-01-bundle.zip 解壓
    技術分享圖片
    在命令提示符下,進入此目錄,敲入命令

nexus install
如有下列提示則證明安裝成功。
技術分享圖片
如果想卸載,命令為:

nexus uninstall

  1. 啟動nexus
    在服務中找到nexus ,右鍵啟動
    技術分享圖片
  2. 進入nexus
    打開瀏覽器輸入地址:http://localhost:8081/nexus
    技術分享圖片
    點擊右上角的Log In ,在彈出窗口中輸入username為admin , password為admin123 ,點擊Log In按鈕
    技術分享圖片
    (二)構建索引
    剛剛安裝好的nexus是無法直接搜索到jar包的,必須下載索引才可以正常使用。
    我們到中央倉庫地址 http://repo.maven.apache.org/maven2/.index/ 下載以下兩個索引壓縮文件
    nexus-maven-repository-index.gz
    nexus-maven-repository-index.properties
    這兩個文件一般在此頁面的最後的位置,另外還需要在網上下載一個名為indexer-cli-5.1.1.jar 的jar包
    將以下三個文件放入一個文件夾
    技術分享圖片
    cmd執行:

java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer
執行後生成目錄indexer,目錄下的文件是索引文件,如下圖

技術分享圖片
將D:\nexus-2.12.0-01-bundle\sonatype-work\nexus\indexer\central-ctx 目錄下的文件刪除,將上邊的索引文件拷貝到此目錄下。
拷貝後重新啟動nexus,然後進入nexus搜索jar包發現可以進行搜索了。
技術分享圖片
(三)倉庫類型
技術分享圖片
1、hosted:宿主倉庫,自己項目的jar要放到hosted類型的倉庫中。
2、proxy:代理倉庫,代理中央倉庫
3、virtual:虛擬倉庫,存儲了maven1的構件,一般不用。
4、group:倉庫組,將一些倉庫組成一個組,自己項目連接倉庫組去下載jar包。
平常開發中都去連接倉庫組,倉庫組中包括:hosted、proxy等。

倉庫所在的文件夾見下面的截圖:

技術分享圖片

(四)鏡像配置
nexus已經安裝好了,我們要開始使用它了。現在我們需要在maven的配置文件settings.xml中配置鏡像,讓maven找私服,而不是直接到中央倉庫下載。
打開maven的配置文件settings.xml,添加如下配置:

<mirrors>   
<mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://localhost:8081/nexus/content/groups/public/</url>
    </mirror>
</mirrors>

mirrors為鏡像組,可以配置多個mirror(鏡像),我們這裏配置的是nexus中的中央代理倉庫。

配置好後,我們需要創建一個項目來測試一下,看看是不是可以通過nexus來下載jar包。

測試步驟:
創建maven工程(jar),在pom.xml中添加依賴,觀察nexus中是否下載了相應的jar包,目錄為 nexus-2.12.0-01-bundle\sonatype-work\nexus\storage\central

(五)發布自己的工程jar到nexus

  1. 創建maven工程itcastutil (jar)
    坐標信息: Group Id : cn.itcast.util
    Artifact Id: itcastutil
    創建包cn.itcast.util
    創建類DateUtil
package cn.itcast.util;

import java.util.Calendar;
import java.util.Date;
/**
 * 日期工具類
 * @author Administrator
 *
 */
public class DateUtil {
/**
 * 獲取當前年份
 * @return
 */
public static int getYear(){
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
return  calendar.get(Calendar.YEAR);
}
}

在pom.xml中引入如下配置信息

<distributionManagement>
          <repository>
          <id>releases</id>
    <url>
             http://localhost:8081/nexus/content/repositories/releases/
       </url>
          </repository>
          <snapshotRepository>
          <id>snapshots</id>
        <url>
            http://localhost:8081/nexus/content/repositories/snapshots/
        </url>
          </snapshotRepository>
  </distributionManagement>
  1. 在Maven中配置
    將以下配置信息放入maven的settings.xml中
<servers>[/align]<server>
      <id>releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
<server>
      <id>snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>

註意:settings.xml 配置 <id>和 pom.xml<id> 對應!
然後執行命令 deploy ,有如下提示表示部署成功
技術分享圖片
我們在私服中進行查詢,發現可以查到剛才我們上傳的jar
技術分享圖片
(六)發布第三方的工程jar到nexus
有很多jar包由於版權等問題,並不會出現在中央倉庫中,比如oracle的驅動,那如何將這類jar包放在nexus中呢?我們看下列操作步驟:
(1)選擇左側菜單的Repositories, 在Repositories窗口中選擇3rd party
技術分享圖片
(2)在3rd party窗口中選擇Artifact Upload
技術分享圖片

(3)在Artifact Upload選項卡中填寫坐標,並上傳jar包。

技術分享圖片
上傳jar包選擇oracle的驅動。
技術分享圖片
填寫坐標
技術分享圖片

有下列提示則為上傳成功

技術分享圖片
上傳成功後可以在3rd party庫中找到此jar包

技術分享圖片

項目管理工具Maven6