大資料學習——裝私服nexus
(一)安裝
解壓之後
進入bin資料夾下 複製路徑 D:\software\nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin
進入命令列視窗輸入以下命令,安裝成功
(如果報錯
'findstr' 不是內部或外部命令,也不是可執行的程式或批處理檔案
這是PATH環境變數的問題,將windows命令的目錄新增到PATH中就好了。
即:在path中追加:%SystemRoot%/system32;%SystemRoot%;)
C:\windows\system32>cd D:\software\nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin C:\windows\system32>cd D:\software\nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin C:\windows\system32>d: D:\software\nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin>nexus install wrapper | nexus installed. D:\software\nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin>
去服務管理啟動(我的電腦——管理——服務和應用程式——服務——nexus——啟動)。
瀏覽器輸入http://localhost:8081/nexus/
預設賬號密碼admin admin123
(二)構建索引
剛剛安裝好的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 的
將以下三個檔案放入一個資料夾
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> |
2. 在Maven中配置
將以下配置資訊放入maven的settings.xml中
<servers> <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包