最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven私服搭建的實(shí)現(xiàn)步驟

 更新時(shí)間:2021年10月28日 11:28:45   作者:Quare_feifei  
本文主要介紹了maven私服搭建的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

私服說(shuō)明

​ maven倉(cāng)庫(kù)分為本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù),而遠(yuǎn)程倉(cāng)庫(kù)又分為maven中央倉(cāng)庫(kù)、其他遠(yuǎn)程倉(cāng)庫(kù)和私服(私有服務(wù)器)。其中,中央倉(cāng)庫(kù)是由maven官方提供的,而私服就需要我們自己搭建了。

​ maven私服就是公司局域網(wǎng)內(nèi)的maven遠(yuǎn)程倉(cāng)庫(kù),每個(gè)員工的電腦上安裝maven軟件并且連接maven私服,程序員可以將自己開發(fā)的項(xiàng)目打成jar并發(fā)布到私服,其它項(xiàng)目組成員就可以從私服下載所依賴的jar。私服還充當(dāng)一個(gè)代理服務(wù)器的角色,當(dāng)私服上沒(méi)有jar包時(shí)會(huì)從maven中央倉(cāng)庫(kù)自動(dòng)下載。

nexus 是一個(gè)maven倉(cāng)庫(kù)管理器(其實(shí)就是一個(gè)軟件),nexus可以充當(dāng)maven私服,同時(shí)nexus還提供強(qiáng)大的倉(cāng)庫(kù)管理、構(gòu)件搜索等功能。

在這里插入圖片描述

搭建maven私服

①下載nexus

https://help.sonatype.com/repomanager2/download/download-archives—repository-manager-oss

②安裝nexus

將下載的壓縮包進(jìn)行解壓,進(jìn)入bin目錄

在這里插入圖片描述

打開cmd窗口并進(jìn)入上面bin目錄下,執(zhí)行nexus.bat install命令安裝服務(wù)(注意需要以管理員身份運(yùn)行cmd命令)

搜索cmd ,右單擊以管理員身份運(yùn)行, cd到bin目錄

在這里插入圖片描述

③啟動(dòng)nexus

經(jīng)過(guò)前面命令已經(jīng)完成nexus的安裝,可以通過(guò)如下兩種方式啟動(dòng)nexus服務(wù):

在Windows系統(tǒng)服務(wù)中啟動(dòng)nexus

win+r -> services.msc

在這里插入圖片描述

在命令行執(zhí)行nexus.bat start命令啟動(dòng)nexus

在這里插入圖片描述

④訪問(wèn)nexus

啟動(dòng)nexus服務(wù)后,訪問(wèn)http://localhost:8081/nexus

點(diǎn)擊右上角LogIn按鈕,進(jìn)行登錄。使用默認(rèn)用戶名admin和密碼admin123登錄系統(tǒng)

在這里插入圖片描述

登錄成功后,點(diǎn)擊左側(cè)菜單Repositories可以看到nexus內(nèi)置的倉(cāng)庫(kù)列表(如下圖)

在這里插入圖片描述

nexus倉(cāng)庫(kù)類型

# 倉(cāng)庫(kù)類型
1. hosted (宿主)
	1). 作用: 部署自己開發(fā)(上傳)的jar到這個(gè)類型的倉(cāng)庫(kù)
	2). 具體有三個(gè)
		I.  snapshots: ★快照版,內(nèi)部使用的測(cè)試版發(fā)布倉(cāng)庫(kù)
				只要我們項(xiàng)目的version后面是snapshot,部署的時(shí)候會(huì)到這個(gè)倉(cāng)庫(kù)中
		II. releases: ★發(fā)布版,經(jīng)過(guò)測(cè)試的代碼
				只要我們項(xiàng)目的version后面release,部署的時(shí)候會(huì)到這個(gè)倉(cāng)庫(kù)中
		III. 3rd party : 第三方	
        	有些jar包中央倉(cāng)庫(kù)中也沒(méi)有,我們需要從jar包官網(wǎng)下載,我們?cè)偈謩?dòng)傳到此倉(cāng)庫(kù)
2. proxy (代理)
	1). 作用: 用于代理遠(yuǎn)程的公共倉(cāng)庫(kù),我們要用的jar包從遠(yuǎn)程倉(cāng)庫(kù)中下載之后存放到這
	2). 具體有兩個(gè)	
		I. Apache Snapshots:  apache快照倉(cāng)庫(kù)
		II. Central : maven中央倉(cāng)庫(kù)
			中國(guó)大陸速度比較慢, 一般用私服代替(阿里云)
3. virtual(虛擬)
		中央倉(cāng)庫(kù)遷移過(guò)
		以前中央倉(cāng)庫(kù)的地址 central M1 shadow
		現(xiàn)在中央倉(cāng)庫(kù)的地址 central 
4. group (組)		

通過(guò)前面的倉(cāng)庫(kù)列表可以看到,nexus默認(rèn)內(nèi)置了很多倉(cāng)庫(kù),這些倉(cāng)庫(kù)可以劃分為4種類型,每種類型的倉(cāng)庫(kù)用于存放特定的jar包,具體說(shuō)明如下:

①hosted,宿主倉(cāng)庫(kù),部署自己的jar到這個(gè)類型的倉(cāng)庫(kù)

不是存放maven中央倉(cāng)庫(kù)的jar包

0. jar包版本
  spring 5.2.9.RELEASE
 1). 版本號(hào): 大.中.小
  小: 修改個(gè)小bug,增加功能
  中: 修改個(gè)比較有影響力bug,功能比較強(qiáng)
  大: spring每三年一個(gè)大版本
 2). 版本后綴 
  SNAPSHOT : 快照 (沒(méi)經(jīng)過(guò)完整測(cè)試的)
  RELEASE : 發(fā)布(經(jīng)過(guò)完整測(cè)試的)
  alpha(內(nèi)測(cè)) beta(公測(cè)) online(上線)
1. snapshots: ★快照版,內(nèi)部使用的測(cè)試版發(fā)布倉(cāng)庫(kù)
     公司內(nèi)部還沒(méi)經(jīng)過(guò)完整測(cè)試的項(xiàng)目
2. releases: ★發(fā)布版,經(jīng)過(guò)測(cè)試的代碼
  公司內(nèi)部經(jīng)過(guò)完整測(cè)試的項(xiàng)目,比較成熟
3. 3rd party: 存放第三方的jar包 (了解)
     有一類jar包在maven的中央倉(cāng)庫(kù)中是不存在的.
     要想使用這類jar包,需要從對(duì)應(yīng)的官網(wǎng)上下載,下載下來(lái)以后,我們自己需要上傳到私服,然后進(jìn)行使用.
     (比如Oracle的jar)

②proxy,代理倉(cāng)庫(kù),用于代理遠(yuǎn)程的公共倉(cāng)庫(kù),如maven中央倉(cāng)庫(kù),用戶連接私服,私服自動(dòng)去中央倉(cāng)庫(kù)下載jar包或者插件

1. Apache Snapshots: Apache的快照倉(cāng)庫(kù)下載的jar包
2. Central: ★中央倉(cāng)庫(kù)下載的jar包
默認(rèn)是maven中央倉(cāng)庫(kù),但是我們待會(huì)需要修改成阿里云

③group,倉(cāng)庫(kù)組,用來(lái)合并多個(gè)hosted/proxy倉(cāng)庫(kù),通常我們配置自己的maven連接倉(cāng)庫(kù)組

倉(cāng)庫(kù)組:
releases: ★發(fā)布版,經(jīng)過(guò)測(cè)試的代碼 (上傳我們的jar包 : 發(fā)布版)
snapshots: ★快照版,內(nèi)部使用的測(cè)試版?zhèn)}庫(kù) (上傳我們的jar包: 測(cè)試版)
Central: ★中央倉(cāng)庫(kù)下載的jar包 (下載jar包 : 改成阿里云私服)

④virtual(虛擬):兼容Maven1版本的jar或者插件

將項(xiàng)目發(fā)布到maven私服 (宿主倉(cāng)庫(kù))

​ 我們現(xiàn)在的maven私服是搭建在公司局域網(wǎng)內(nèi)的maven倉(cāng)庫(kù),公司內(nèi)的所有開發(fā)團(tuán)隊(duì)都可以使用。例如技術(shù)研發(fā)團(tuán)隊(duì)開發(fā)了一個(gè)基礎(chǔ)組件,就可以將這個(gè)基礎(chǔ)組件打成jar包發(fā)布到私服,其他團(tuán)隊(duì)成員就可以從私服下載這個(gè)jar包到本地倉(cāng)庫(kù)并在項(xiàng)目中使用。

將項(xiàng)目發(fā)布到maven私服操作步驟如下:

# 操作 : 將項(xiàng)目打包部署到nexus私服的宿主倉(cāng)庫(kù)中
1. settings-nexus.xml文件
	1). 資料中的settings-nexus.xml放到  maven\conf目錄下
	2). 修改文件中l(wèi)ocalRepository
2. 需要在idea中進(jìn)行修改maven的配置文件
		maven.user settings file -> settings-nexus.xml
3. 修改工程pom文件
		1). 添加一個(gè)distributionManagement標(biāo)簽
		2). 修改版本號(hào)后綴名
				release 發(fā)布到 releases倉(cāng)庫(kù)
				snapshot 發(fā)布到 snapshots倉(cāng)庫(kù)
4. maven的指令
	1). install 安裝jar包/war包到本地倉(cāng)庫(kù)
    2). deploy  部署jar包/war包到遠(yuǎn)程倉(cāng)庫(kù)(私服)
    		

配置maven的settings.xml文件

settings-nexus.xml

<?xml version="1.0" encoding="UTF-8"?>


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
 
 <localRepository>F:\delvop\apache-maven-3.6.1\repository</localRepository>
  
  <pluginGroups>
  </pluginGroups>

  
  <proxies>
  </proxies>

 
  <servers>
  <!-- 配置服務(wù)賬號(hào):nexus遠(yuǎn)程倉(cāng)庫(kù)的登錄信息 -->
	<server>
		<id>releases</id>
		<username>admin</username>   
		<password>admin123</password>
	</server>
	<server>
		<id>snapshots</id>
		<username>admin</username>
		<password>admin123</password>
	</server>
  </servers>

  
  <mirrors>
  </mirrors>

  
  <profiles>
  <!-- maven默認(rèn)使用JDK1.5,聲明使用1.8編譯 -->
	<profile>    
		<id>jdk-1.8</id>    
		 <activation>    
			  <activeByDefault>true</activeByDefault>    
			  <jdk>1.8</jdk>    
		  </activation>    
		<properties>    
			<maven.compiler.source>1.8</maven.compiler.source>    
			<maven.compiler.target>1.8</maven.compiler.target>    
			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
		</properties>    
	</profile>
	<!-- 配置私服模板 -->
    <profile>
		<!-- 模板id標(biāo)記 -->
		<id>dev</id>
		<!-- 私服倉(cāng)庫(kù) -->
		<repositories>
			<repository>
				<id>nexus</id>
				<!--倉(cāng)庫(kù)地址,即nexus倉(cāng)庫(kù)組的地址-->
				<url>http://localhost:8081/nexus/content/groups/public/</url>
				<!--是否下載releases構(gòu)件-->
				<releases>
					<enabled>true</enabled>
				</releases>
				<!--是否下載snapshots構(gòu)件-->
				<snapshots>
					<enabled>true</enabled>
				</snapshots>
			</repository>
		</repositories>
		<pluginRepositories>
			<!-- 插件倉(cāng)庫(kù),maven的運(yùn)行依賴插件,也需要從私服下載插件 -->
			<pluginRepository>
				<id>public</id>
				<name>Public Repositories</name>
				<url>http://localhost:8081/nexus/content/groups/public/</url>
			</pluginRepository>
		</pluginRepositories>
	</profile>
  </profiles>
<!-- 激活模板 -->
	<activeProfiles>
		<activeProfile>dev</activeProfile>
	</activeProfiles>

</settings>

​ 注意:一定要在idea工具中引入的maven的settings.xml文件中配置

在這里插入圖片描述

2. 配置項(xiàng)目的pom.xml文件

想將哪個(gè)項(xiàng)目打成包發(fā)布到私服上,就在那個(gè)項(xiàng)目的pom.xml文件中添加相關(guān)配置

跟properties和dependencies 是平級(jí)

<distributionManagement>
      <!--當(dāng)前項(xiàng)目版本后綴為:RELEASE上傳目錄-->
    <repository>
       <id>releases</id>
       <url>http://localhost:8081/nexus/content/repositories/releases/</url>
    </repository>
      <!--當(dāng)前項(xiàng)目版本后綴為:SNAPSHOT上傳目錄-->
    <snapshotRepository>
       <id>snapshots</id>               <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>    </snapshotRepository>
</distributionManagement>

執(zhí)行mvn deploy命令

 <!--
        操作:
            本地倉(cāng)庫(kù)不再直接訪問(wèn)阿里云,而是訪問(wèn)公司私服
            1. 修改settings-nexus.xml
                1). 移除了阿里云配置
                2). 添加公司私服配置
            2. idea -> 修改maven配置文件
            3. 項(xiàng)目中的pom文件進(jìn)行聲明

        解釋:
            1. 以下是配置了兩個(gè)倉(cāng)庫(kù)的地址
                id是映射settings-nexus.xml文件的賬號(hào)配置
            2. 工作原理:
                根據(jù)當(dāng)前項(xiàng)目的版本號(hào)后綴名,將當(dāng)前項(xiàng)目發(fā)布到對(duì)應(yīng)的倉(cāng)庫(kù)中
                例子: 版本 1.0-SNAPSHOT, 就會(huì)發(fā)布到snapshots倉(cāng)庫(kù)

            3. 指令:
                install : 安裝到本地倉(cāng)庫(kù)
                deploy :發(fā)布到遠(yuǎn)程倉(cāng)庫(kù)
    -->

從私服下載jar到本地倉(cāng)庫(kù)

修改默認(rèn)中央倉(cāng)庫(kù)

nexus的中央倉(cāng)庫(kù),默認(rèn)配置的是maven的中央倉(cāng)庫(kù):
https://repo1.maven.org/maven2/
因?yàn)榈刂吩趪?guó)外,建議配置為阿里云:
http://maven.aliyun.com/nexus/content/groups/public/

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于maven私服搭建的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)maven私服搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java動(dòng)態(tài)線程池插件dynamic-tp集成zookeeper

    Java動(dòng)態(tài)線程池插件dynamic-tp集成zookeeper

    ZooKeeper是一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等
    2023-03-03
  • springboot集成springCloud中g(shù)ateway時(shí)啟動(dòng)報(bào)錯(cuò)的解決

    springboot集成springCloud中g(shù)ateway時(shí)啟動(dòng)報(bào)錯(cuò)的解決

    這篇文章主要介紹了springboot集成springCloud中g(shù)ateway時(shí)啟動(dòng)報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • springboot新建項(xiàng)目jdk只有17/21,無(wú)法選中1.8解決辦法

    springboot新建項(xiàng)目jdk只有17/21,無(wú)法選中1.8解決辦法

    最近博主也有創(chuàng)建springboot項(xiàng)目,發(fā)現(xiàn)了IntelliJ IDEA在通過(guò)Spring Initilizer初始化項(xiàng)目的時(shí)候已經(jīng)沒(méi)有java8版本的選項(xiàng)了,這里給大家總結(jié)下,這篇文章主要給大家介紹了springboot新建項(xiàng)目jdk只有17/21,無(wú)法選中1.8的解決辦法,需要的朋友可以參考下
    2023-12-12
  • SpringBoot2底層注解@ConfigurationProperties配置綁定

    SpringBoot2底層注解@ConfigurationProperties配置綁定

    這篇文章主要介紹了SpringBoot2底層注解@ConfigurationProperties配置綁定,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 利用Java搭建個(gè)簡(jiǎn)單的Netty通信實(shí)例教程

    利用Java搭建個(gè)簡(jiǎn)單的Netty通信實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于如何利用Java搭建個(gè)簡(jiǎn)單的Netty通信,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 輕松掌握J(rèn)ava注解,讓編程更智能、更優(yōu)雅

    輕松掌握J(rèn)ava注解,讓編程更智能、更優(yōu)雅

    輕松掌握J(rèn)ava注解?沒(méi)問(wèn)題!想要讓你的Java代碼更具可讀性、維護(hù)性,同時(shí)提升開發(fā)效率?本指南將帶你快速入門Java注解的世界,只需短短幾分鐘,你就能揭秘這個(gè)強(qiáng)大的編程工具,讓編寫有聲明性邏輯的代碼變得輕而易舉,趕快一起來(lái)探索吧!
    2024-01-01
  • java圖論弗洛伊德和迪杰斯特拉算法解決最短路徑問(wèn)題

    java圖論弗洛伊德和迪杰斯特拉算法解決最短路徑問(wèn)題

    這篇文章主要為大家介紹了java圖論弗洛伊德算法和迪杰斯特拉算法解決最短路徑的問(wèn)題示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • spring boot入門開始你的第一個(gè)應(yīng)用

    spring boot入門開始你的第一個(gè)應(yīng)用

    這篇文章主要介紹了spring boot入門開始你的第一個(gè)應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • Java 程序里transient關(guān)鍵字使用方法示例

    Java 程序里transient關(guān)鍵字使用方法示例

    這篇文章主要為大家介紹了Java 程序里transient關(guān)鍵字使用方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Java判斷數(shù)字位數(shù)的方法總結(jié)

    Java判斷數(shù)字位數(shù)的方法總結(jié)

    本文給大家整理了Java判斷數(shù)字位數(shù)的兩種常用方法,對(duì)此有興趣的可以跟著小編一起學(xué)習(xí)下。
    2018-02-02

最新評(píng)論

塘沽区| 延吉市| 外汇| 舟山市| 固原市| 建昌县| 寿阳县| 婺源县| 寻乌县| 专栏| 洮南市| 松江区| 和平区| 太白县| 五家渠市| 乌鲁木齐县| 凯里市| 泸州市| 开阳县| 建宁县| 五大连池市| 黑山县| 石泉县| 广水市| 海兴县| 洛隆县| 海丰县| 东乌珠穆沁旗| 余干县| 贵定县| 兴隆县| 郓城县| 德清县| 定安县| 忻城县| 密云县| 老河口市| 西畴县| 天全县| 安溪县| 镇雄县|