Maven高級之私服(二)

文章目錄

(一)私服的安裝和啓動
(二)私服的應用
(三)安裝第三方jar包到本地倉庫
(四)安裝第三方jar包到私服

(一)私服的安裝和啓動

安裝
啓動
登錄
卸載

nexus-2.12.0-01-bundle.zip壓縮解壓到一個合法路徑下即可,如下:
在這裏插入圖片描述
使用管理員權限打開PS,運行nexus.bat進行安裝,如下:在這裏插入圖片描述
輸入.\nexus.bat install命令進行安裝,如下:
在這裏插入圖片描述
在這裏插入圖片描述
輸入.\nexus.bat start命令進行啓動,如下:
在這裏插入圖片描述
因爲私服只支持JDK1.8,而我的環境變量默認是JDK1.9,需要打開配置文件做修改,如下:
(將 java 修改爲 自己的jdk目錄下的bin路徑 + \java )
在這裏插入圖片描述
在這裏插入圖片描述
打開另一個配置文件,如下:
在這裏插入圖片描述
我們得知IP地址端口號以及虛擬路徑,可以進行訪問,如下:
在這裏插入圖片描述
點擊右上角的log in進行登錄,默認用戶名是admin,密碼是admin123,如下:
在這裏插入圖片描述
可以在可視化頁面點擊左側的Repositories查看本地倉庫
在這裏插入圖片描述
在這裏插入圖片描述
因爲我們這次的私服是直接部署在本地,所以直接打開sonatype-work也可以
在這裏插入圖片描述
名詞解析

  • 3rd party:第三方
  • Releases:私服的正式版
  • Snapshots:私服的測試版
  • Central:中央倉庫,是代理的一種(最常用)
  • Apache Snapshots:也是一種中央倉庫
  • Central M1 shadow:已經不再使用了,是最早期的中央倉庫

group類型的倉庫是我們以後要經常使用的,如下:
在這裏插入圖片描述
我們只要定義了一個group類型的倉庫,就可以實現jar包自動下載
jar包下載順序:私服的正式版倉庫、私服的測試版倉庫、第三方倉庫、中央倉庫、阿帕奇倉庫(順序可調整)

輸入.\nexus.bat uninstall進行卸載,如下:
在這裏插入圖片描述

(二)私服的應用

我們之前是對父工程執行了install命令,把maven_daomaven_servicemaven_controller都打包上傳到本地倉庫,我們其實也可以上傳到遠程倉庫(私服

我們要先配置私服信息(登錄相關的信息),如下:
在這裏插入圖片描述

	<server>
		<id>releases</id>
		<username>admin</username>
		<password>admin123</password>
	</server>
	<server>
		<id>snapshots</id>
		<username>admin</username>
		<password>admin123</password>
	</server>

我們以上傳maven_dao爲例,接下來編輯maven_daopom.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>

maven_dao執行deploy命令,打包上傳到私服,如下:
在這裏插入圖片描述
在這裏插入圖片描述
效果如下:
在這裏插入圖片描述
注意deploy是maven生命週期的最後一站,執行了deploy就代表前面的所有命令都執行了一遍,也就代表install也被執行了,所以執行了deploy不僅僅把maven_dao打包上傳到遠程倉庫(私服),也同時打包上傳到了本地倉庫,如下:
在這裏插入圖片描述
注意:之所以本地倉庫會有四個,是因爲上一篇博客對maven_parent父工程執行了install

接下來把本地倉庫的maven_dao刪掉,試試能否從遠程倉庫下載maven_dao,如下:
在這裏插入圖片描述
注意:我們不能運行maven_parent,要運行maven_controller,只有它纔會有依賴
在這裏插入圖片描述
效果如下:
在這裏插入圖片描述
可以看到是無法自動從遠程倉庫下載的,說明下載和上傳的配置是不一樣的,接下來配置下載,如下:
在這裏插入圖片描述

	<profile> 
		<!--profile的id -->
		<id>dev</id>
		<repositories>
			<repository> <!--倉庫id,repositories可以配置多個倉庫,保證id不重複 -->
				<id>nexus</id> <!--倉庫地址,即nexus倉庫組的地址 -->
				<url>http://localhost:8081/nexus/content/groups/public/</url> <!--是否下載releases構件 -->
				<releases>
					<enabled>true</enabled>
				</releases> <!--是否下載snapshots構件 -->
				<snapshots>
					<enabled>true</enabled>
				</snapshots>
			</repository>
		</repositories>
		<pluginRepositories> <!-- 插件倉庫,maven的運行依賴插件,也需要從私服下載插件 -->
			<pluginRepository> <!-- 插件倉庫的id不允許重複,如果重複後邊配置會覆蓋前邊 -->
				<id>public</id>
				<name>Public Repositories</name>
				<url>http://localhost:8081/nexus/content/groups/public/</url>
			</pluginRepository>
		</pluginRepositories>
	</profile>

最後把它激活,如下:
在這裏插入圖片描述

  	<activeProfiles>
		<activeProfile>dev</activeProfile>
	</activeProfiles>

此時再次運行,就可以從遠程倉庫下載jar包了,如下:
在這裏插入圖片描述
可以看到又下載回本地倉庫
運行效果如下:
在這裏插入圖片描述

(三)安裝第三方jar包到本地倉庫

其實之前就曾經安裝過一次:maven不能加載ojdbc14.jar的解決方法

第一種方法:打開cmd直接運行
mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=F:\fastjson-1.1.37.jar

第二種方法:進入jar包所在目錄運行
mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar

之前安裝ojdbc14.jar時已經演示過第一種方法了,下面演示第二種方法,如下:
在這裏插入圖片描述
管理員權限打開CMD,進入到jar包所在目錄,如下:
在這裏插入圖片描述
效果如下:
在這裏插入圖片描述

(四)安裝第三方jar包到私服

第三方jar包要安裝到thirdparty,如下:
在這裏插入圖片描述

首先打開maven的配置文件,配置第三方倉庫信息,如下:
在這裏插入圖片描述

第一種方法:打開cmd直接運行
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=F:\fastjson-1.1.37.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty
第二種方法:進入jar包所在目錄運行
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty

其實兩種方法都差不多,下面演示第一種,如下:
在這裏插入圖片描述
效果如下:
在這裏插入圖片描述
在這裏插入圖片描述

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