maven私服搭建

Nexus環境搭建

本文采用nexus框架來搭建私服,windows-64位操作系統

準備步驟

環境要求:安裝jdk1.8及以上

nexus下載 https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3

安裝包包含兩個目錄:nexus-3.15.2-01、sonatype-work;解壓到同一個目錄下(環境要求,項目講解有說明)

#進入nexus-3.15.2-01/bin目錄下,安裝和啓動
nexus.exe /run

執行完成時,顯示信息如下:

-------------------------------------------------
Started Sonatype Nexus OSS 3.15.2-01
-------------------------------------------------

訪問項目:
http://ip:8081

初始超級管理員用戶:admin / admin123

倉庫介紹

在這裏插入圖片描述
登錄後,打開倉庫菜單 ,可以看到如上幾個倉庫:
類型有三種分別爲:proxy、hosted、group

  • proxy:是遠程倉庫的代理。比如說在nexus中配置了一個central repository的proxy,當用戶向這個proxy請求一個artifact,這個proxy就會先在本地查找,如果找不到的話,就會從遠程倉庫下載,然後返回給用戶,相當於起到一箇中轉的作用
  • Hosted:是宿主倉庫,用戶可以把自己的一些構件,deploy到hosted中,也可以手工上傳構件到hosted裏。比如說oracle的驅動程序,ojdbc6.jar,在central repository是獲取不到的,就需要手工上傳到hosted裏
  • Group:是倉庫組,在maven裏沒有這個概念,是nexus特有的。目的是將上述多個倉庫聚合,對用戶暴露統一的地址,這樣用戶就不需要在pom中配置多個地址

用戶配置

國內開發maven項目一般使用阿里雲的maven倉庫,創建本地倉庫.

私服使用

修改maven-public倉庫組

添加maven-aliyun到倉庫組中,並修改倉庫順序
在這裏插入圖片描述
下載jar包時會根據順序自上而下查找jar包

jar包下載

方式一:全局配置

maven配置文件settings.xml

<mirror>
        <id>public</id>
        <mirrorOf>*</mirrorOf>
		<name>maven-public</name>
        <url>http://127.0.0.1:8081/repository/maven-public/</url>
</mirror>

注:mirrorOf標籤內容不能亂寫
例如:

  • 代表倉庫組中配置的所有倉庫
    maven-aliyun,maven-releases 對應倉庫組中配置的倉庫名

IDE中進行maven配置 ,即可實現jar包下載

方式二:項目中配置

pom.xml文件中添加如下內容

<repositories>
		<repository>
			<id>public</id>
			<name>maven-public</name>
			<url>http://127.0.0.1:8081/repository/maven-public/</url>
		</repository>
</repositories>

發佈到私服

方式一:手工發佈

訪問:http://127.0.0.1:8081 管理員登錄
選擇第一個面板—upload 選擇要上傳的包,點擊上傳即可

在這裏插入圖片描述

方式二: maven發佈
  • 創建角色,分配權限
    在這裏插入圖片描述
  • 創建用戶
    在這裏插入圖片描述
  • maven配置
<server>
      <id>releaseRepo</id>
      <username>test</username>
      <password>test123</password>
</server>
  • pom配置
<distributionManagement>
	<repository>
		<id>releaseRepo</id>
		<name>maven-releases</name>
		<url>http://127.0.0.1:8081/repository/maven-releases</url>
	</repository>
</distributionManagement>

注:pom文件id標籤的值,必須和maven的server標籤的id值相同.

  • 執行deploy

在這裏插入圖片描述

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ webservice ---
[INFO] Uploading to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.jar
[INFO] Uploaded to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.jar (6.0 MB at 9.1 MB/s)
[INFO] Uploading to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.pom
[INFO] Uploaded to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.pom (5.7 kB at 28 kB/s)
[INFO] Downloading from releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml
[INFO] Downloaded from releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml (298 B at 530 B/s)
[INFO] Uploading to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml
[INFO] Uploaded to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml (329 B at 620 B/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.499 s
[INFO] Finished at: 2019-02-22T15:04:39+08:00
[INFO] ------------------------------------------------------------------------

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章