久久午夜无码,日日射天天射五月丁香婷婷我来了 ,欧美黑人又长又粗在线视频,午夜天网站

maven中央倉(cāng)庫(kù)(Maven倉(cāng)庫(kù)如何搭建保姆級(jí)教程)

maven中央倉(cāng)庫(kù)(Maven倉(cāng)庫(kù)如何搭建保姆級(jí)教程)

莫暄婷 2025-04-11 科技 31 次瀏覽 0個(gè)評(píng)論

大家好,我是袁庭新。

Maven在某個(gè)統(tǒng)一的位置存儲(chǔ)所有項(xiàng)目的構(gòu)件,這個(gè)統(tǒng)一的位置,我們就稱之為倉(cāng)庫(kù)。換言之,倉(cāng)庫(kù)就是存放依賴和插件的地方。

任何的構(gòu)件都有唯一的坐標(biāo),該坐標(biāo)定義了構(gòu)件在倉(cāng)庫(kù)中的唯一存儲(chǔ)路徑。當(dāng)Maven項(xiàng)目需要某些構(gòu)件時(shí),只要其POM文件中聲明了這些構(gòu)件的坐標(biāo),Maven就會(huì)根據(jù)這些坐標(biāo)找自動(dòng)到倉(cāng)庫(kù)中找到并使用它們。

項(xiàng)目構(gòu)建完成生成的構(gòu)件,也可以安裝或者部署到倉(cāng)庫(kù)中,供其他項(xiàng)目使用。

1.倉(cāng)庫(kù)的分類(lèi)

Maven倉(cāng)庫(kù)可以分為2個(gè)大類(lèi):

本地倉(cāng)庫(kù)遠(yuǎn)程倉(cāng)庫(kù)

當(dāng)Maven根據(jù)坐標(biāo)尋找構(gòu)件時(shí),它會(huì)首先查看本地倉(cāng)庫(kù),若本地倉(cāng)庫(kù)存在此構(gòu)件,則直接使用;若本地倉(cāng)庫(kù)不存在此構(gòu)件,Maven就會(huì)去遠(yuǎn)程倉(cāng)庫(kù)查找,若發(fā)現(xiàn)所需的構(gòu)件后,則下載到本地倉(cāng)庫(kù)使用。如果本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)都沒(méi)有所需的構(gòu)件,則Maven就會(huì)報(bào)錯(cuò)。

遠(yuǎn)程倉(cāng)庫(kù)還可以分為3個(gè)小類(lèi):中央倉(cāng)庫(kù)、私服、其他公共倉(cāng)庫(kù)。

中央倉(cāng)庫(kù)是由Maven社區(qū)提供的一種特殊的遠(yuǎn)程倉(cāng)庫(kù),它包含了絕大多數(shù)流行的開(kāi)源構(gòu)件。在默認(rèn)情況下,當(dāng)本地倉(cāng)庫(kù)沒(méi)有Maven所需的構(gòu)件時(shí),會(huì)首先嘗試從中央倉(cāng)庫(kù)下載。私服是一種特殊的遠(yuǎn)程倉(cāng)庫(kù),它通常設(shè)立在局域網(wǎng)內(nèi),用來(lái)代理所有外部的遠(yuǎn)程倉(cāng)庫(kù)。它的好處是可以節(jié)省帶寬,比外部的遠(yuǎn)程倉(cāng)庫(kù)更加穩(wěn)定。除了中央倉(cāng)庫(kù)和私服外,還有很多其他公共倉(cāng)庫(kù),例如JBoss Maven庫(kù),Java.net Maven庫(kù)和阿里云Maven倉(cāng)庫(kù)等等。

Maven倉(cāng)庫(kù)的分類(lèi)如下圖。

Maven倉(cāng)庫(kù)如何搭建?保姆級(jí)教程

由于私服在實(shí)際開(kāi)發(fā)中十分的常用,也特別重要,因此本節(jié)只稍做介紹,關(guān)于Maven私服的詳細(xì)內(nèi)容將在后續(xù)章節(jié)專題介紹。

2.本地倉(cāng)庫(kù)

Maven本地倉(cāng)庫(kù)實(shí)際上就是本地計(jì)算機(jī)上的一個(gè)目錄(文件夾),它會(huì)在第一次執(zhí)行Maven命令時(shí)被創(chuàng)建。

Maven本地倉(cāng)庫(kù)可以儲(chǔ)存本地所有項(xiàng)目所需的構(gòu)件。當(dāng)Maven項(xiàng)目第一次進(jìn)行構(gòu)建時(shí),會(huì)自動(dòng)從遠(yuǎn)程倉(cāng)庫(kù)搜索依賴項(xiàng),并將其下載到本地倉(cāng)庫(kù)中。當(dāng)項(xiàng)目再進(jìn)行構(gòu)建時(shí),會(huì)直接從本地倉(cāng)庫(kù)搜索依賴項(xiàng)并引用,而不會(huì)再次向遠(yuǎn)程倉(cāng)庫(kù)獲取。

以Window系統(tǒng)為例說(shuō)明,Maven本地倉(cāng)庫(kù)默認(rèn)地址為C:%USER_HOME%.m2\repository ,但出于某些原因(例如C盤(pán)空間不夠),我們通常會(huì)重新自定義本地倉(cāng)庫(kù)的位置。這時(shí)需要修改%MAVEN_HOME%\conf目錄下的settings.xml文件,通過(guò)localRepository元素定義新的本地倉(cāng)庫(kù)地址。

1.進(jìn)入apache-maven-3.8.4/conf目錄下,找到settings.xml配置文件,我們?cè)谠撐募羞M(jìn)行本地倉(cāng)庫(kù)的配置。

2.打開(kāi)settings.xml文件,進(jìn)行如下配置。

<!-- 選擇一個(gè)磁盤(pán)目錄,作為本地倉(cāng)庫(kù)。以下兩種配置Maven本地倉(cāng)庫(kù)的方式,根據(jù)操作系統(tǒng)二選其一。 --><!-- 1.Windows系統(tǒng)配置Maven本地倉(cāng)庫(kù) --><localRepository>H:\ProgramSoftware\localRepository</localRepository><!-- 2.Mac OS系統(tǒng)配置Maven本地倉(cāng)庫(kù) --><localRepository>/Users/yuanxin/Documents/ProgramSoftware/localRepository</localRepository>

3.在本臺(tái)計(jì)算機(jī)上,上述配置的Maven本地倉(cāng)庫(kù)地址處創(chuàng)建【localRepository】文件夾,用于存放將來(lái)從遠(yuǎn)程倉(cāng)庫(kù)或中央倉(cāng)庫(kù)下載的插件和jar包。

構(gòu)件只有儲(chǔ)存在本地倉(cāng)庫(kù)中,才能被其他的Maven項(xiàng)目使用。構(gòu)件想要進(jìn)入本地倉(cāng)庫(kù),除了從遠(yuǎn)程倉(cāng)庫(kù)下載到本地倉(cāng)庫(kù)外,還可以使用命令mvn install將本地項(xiàng)目的輸出構(gòu)件安裝到本地倉(cāng)庫(kù)中。

3.中央倉(cāng)庫(kù)

中央倉(cāng)庫(kù)是由Maven社區(qū)提供的一種特殊的遠(yuǎn)程倉(cāng)庫(kù),它包含了絕大多數(shù)流行的開(kāi)源構(gòu)件。在默認(rèn)情況下,當(dāng)本地倉(cāng)庫(kù)沒(méi)有Maven所需的構(gòu)件時(shí),會(huì)首先嘗試從中央倉(cāng)庫(kù)下載。

中央倉(cāng)庫(kù)具有如下特點(diǎn):

這個(gè)倉(cāng)庫(kù)由Maven社區(qū)管理不需要配置需要通過(guò)網(wǎng)絡(luò)才能訪問(wèn)

我們可以通過(guò)Maven社區(qū)提供的URL地址:http://search.maven.org/#browse,瀏覽其中的構(gòu)件。中央倉(cāng)庫(kù)包含了絕大多數(shù)流行的開(kāi)源Java構(gòu)件及其源碼、作者信息和許可證信息等。一般來(lái)說(shuō),Maven項(xiàng)目所依賴的構(gòu)件都可以從中央倉(cāng)庫(kù)下載到。

雖然中央倉(cāng)庫(kù)屬于遠(yuǎn)程倉(cāng)庫(kù)的范疇,但由于它的特殊性,一般會(huì)把它與其他遠(yuǎn)程倉(cāng)庫(kù)區(qū)分開(kāi)。我們常說(shuō)的遠(yuǎn)程倉(cāng)庫(kù),一般不包括中央倉(cāng)庫(kù)。

4.遠(yuǎn)程倉(cāng)庫(kù)

如果Maven在本地倉(cāng)庫(kù)和中央倉(cāng)庫(kù)中都找不到依賴的庫(kù)文件,它就會(huì)停止構(gòu)建過(guò)程并輸出錯(cuò)誤信息到IDE控制臺(tái)。為避免這種情況的發(fā)生,Maven還提供了遠(yuǎn)程倉(cāng)庫(kù)的概念,它是一種由開(kāi)發(fā)人員自己定制的倉(cāng)庫(kù),其中包含了供其他項(xiàng)目使用的代碼庫(kù)或者構(gòu)件。

國(guó)內(nèi)開(kāi)發(fā)人員由于網(wǎng)絡(luò)原因,直接從中央倉(cāng)庫(kù)下載構(gòu)件時(shí),速度較慢或不穩(wěn)定,我們通常會(huì)使用中央倉(cāng)庫(kù)的國(guó)內(nèi)鏡像站來(lái)解決該問(wèn)題。

配置Maven鏡像的方法也非常的簡(jiǎn)單,我們只需要在Maven安裝目錄中setting.xml文件的mirrors節(jié)點(diǎn)中,使用mirror標(biāo)簽添加鏡像的相關(guān)信息即可。

目前國(guó)內(nèi)使用最多,最穩(wěn)定的中央倉(cāng)庫(kù)鏡像分別是由[阿里云]和[華為云]提供的,它們的地址配置如下。

阿里云鏡像:https://developer.aliyun.com/mvn/guide華為云鏡像:https://mirrors.huaweicloud.com/home4.1 阿里云鏡像

阿里云Maven中央倉(cāng)庫(kù)為阿里云云效提供的公共代理倉(cāng)庫(kù),幫助研發(fā)人員提高研發(fā)生產(chǎn)效率,使用阿里云Maven中央倉(cāng)庫(kù)作為下載源,速度更快更穩(wěn)定。

1.打開(kāi)Maven的配置文件( windows機(jī)器一般在Maven安裝目錄的conf/settings.xml),在<mirrors></mirrors>標(biāo)簽中添加mirror子節(jié)點(diǎn)。進(jìn)入apache-maven-3.8.4/conf目錄下,在settings.xml文件中做如下配置。

<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共倉(cāng)庫(kù)</name> <url>https://maven.aliyun.com/repository/public</url></mirror>

2.如果想使用其它代理倉(cāng)庫(kù),可在<repositories></repositories>節(jié)點(diǎn)中加入對(duì)應(yīng)的倉(cāng)庫(kù)使用地址。以使用central代理倉(cāng)為例。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.ytx.edu</groupId> <artifactId>hello_maven</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>hello_maven</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <repositories> <repository> <id>central</id> <url>https://maven.aliyun.com/repository/central</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories></project>

說(shuō)明:上述步驟1和步驟2針對(duì)Maven的配置遠(yuǎn)程倉(cāng)庫(kù)的配置,兩種方式任選其一即可。

3.在你的pom.xml文件<denpendencies></denpendencies>節(jié)點(diǎn)中加入你要引用的文件信息。

<dependency> <groupId>[GROUP_ID]</groupId> <artifactId>[ARTIFACT_ID]</artifactId> <version>[VERSION]</version></dependency>

4.執(zhí)行拉取命令。

mvn install4.2 華為云鏡像

打開(kāi)Maven的配置文件( windows機(jī)器一般在Maven安裝目錄的conf/settings.xml),在<mirrors></mirrors>標(biāo)簽中添加mirror子節(jié)點(diǎn)。進(jìn)入apache-maven-3.8.4/conf目錄下,在settings.xml文件中做如下配置。

<mirror> <id>huaweicloud</id> <name>mirror from maven huaweicloud</name> <mirrorOf>central</mirrorOf> <url>https://repo.huaweicloud.com/repository/maven/</url></mirror>

以上配置中,mirrorOf的取值為central,表示該配置為中央倉(cāng)庫(kù)的鏡像,所有對(duì)于中央倉(cāng)庫(kù)的請(qǐng)求都會(huì)轉(zhuǎn)到該鏡像。當(dāng)然,我們也可以使用以上方式配置其他倉(cāng)庫(kù)的鏡像。另外三個(gè)元素id、name和url分別表示鏡像的唯一標(biāo)識(shí)、名稱和地址。

4.3 鏡像與Maven私服配合使用

鏡像通常會(huì)和Maven私服配合使用,由于Maven私服可以代理所有外部的公共倉(cāng)庫(kù)(包括中央倉(cāng)庫(kù)),因此對(duì)于組織內(nèi)部的用戶來(lái)說(shuō),使用一個(gè)私服就相當(dāng)于使用了所有需要的外部倉(cāng)庫(kù),這樣就可以將配置集中到私服中,簡(jiǎn)化Maven本身的配置。這種情況下,用戶所有所需的構(gòu)件都可以從私服中獲取,此時(shí)私服就是所有倉(cāng)庫(kù)的鏡像。

<srttings> ... <mirrors> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <name>nexus</name> <url>http://localhost:8000/nexus/content/groups/ytx_repository_group/</url> </mirror> </mirrors> ...</settings>

以上配置中,mirrorOf元素的取值為*,表示匹配所有遠(yuǎn)程倉(cāng)庫(kù),所有對(duì)于遠(yuǎn)程倉(cāng)庫(kù)的請(qǐng)求都會(huì)被攔截,并跳轉(zhuǎn)到url元素指定的地址。

為了滿足一些較為復(fù)雜的需求,Maven還支持一些更為高級(jí)的配置。

<mirrorOf>*</mirrorOf>:匹配所有遠(yuǎn)程倉(cāng)庫(kù)。<mirrorOf>external:*</mirrorOf>:匹配所有遠(yuǎn)程倉(cāng)庫(kù),使用localhost和file://協(xié)議的除外。即,匹配所有不在本機(jī)上的遠(yuǎn)程倉(cāng)庫(kù)。<mirrorOf>repo1,repo2</mirrorOf>:匹配倉(cāng)庫(kù)repo1和repo2,使用逗號(hào)分隔多個(gè)遠(yuǎn)程倉(cāng)庫(kù)。<mirrorOf>*,!repo1</miiroOf>:匹配所有遠(yuǎn)程倉(cāng)庫(kù),repo1除外,使用感嘆號(hào)將倉(cāng)庫(kù)從匹配中排除。

需要注意的是,由于鏡像倉(cāng)庫(kù)完全屏蔽了被鏡像倉(cāng)庫(kù),當(dāng)鏡像倉(cāng)庫(kù)不穩(wěn)定或者停止服務(wù)時(shí),Maven也無(wú)法訪問(wèn)被鏡像倉(cāng)庫(kù),因而將無(wú)法下載構(gòu)件。

5.Profiles配置

在settings.xml文件中的<profiles></profiles>標(biāo)簽中,添加一個(gè)<profile>標(biāo)簽,用于限定Maven項(xiàng)目默認(rèn)的JDK版本。

<profiles> <!-- 在已有的profiles標(biāo)簽中添加profile標(biāo)簽 --> <profile> <id>jdk-11</id> <activation> <activeByDefault>true</activeByDefault> <jdk>11</jdk> </activation> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion> </properties> </profile></profiles><!-- 讓增加的profile生效 --><activeProfiles> <activeProfile>jdk-11</activeProfile></activeProfiles>6.總結(jié)

本文主要介紹了 Maven 倉(cāng)庫(kù)相關(guān)知識(shí)。Maven 倉(cāng)庫(kù)用于存放依賴和插件,分為本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)(中央倉(cāng)庫(kù)、私服、其他公共倉(cāng)庫(kù))。本地倉(cāng)庫(kù)是本地計(jì)算機(jī)目錄,默認(rèn)地址可修改。中央倉(cāng)庫(kù)由 Maven 社區(qū)管理,默認(rèn)優(yōu)先從其下載構(gòu)件。遠(yuǎn)程倉(cāng)庫(kù)可定制,國(guó)內(nèi)常用阿里云和華為云鏡像解決下載問(wèn)題。還講述了私服及鏡像與私服配合使用,以及在 settings.xml 中通過(guò) Profiles 配置限定項(xiàng)目默認(rèn) JDK 版本等內(nèi)容,為 Maven 項(xiàng)目構(gòu)建提供了重要的倉(cāng)庫(kù)管理指導(dǎo)。

轉(zhuǎn)載請(qǐng)注明來(lái)自夕逆IT,本文標(biāo)題:《maven中央倉(cāng)庫(kù)(Maven倉(cāng)庫(kù)如何搭建保姆級(jí)教程)》

每一天,每一秒,你所做的決定都會(huì)改變你的人生!

發(fā)表評(píng)論

快捷回復(fù):

評(píng)論列表 (暫無(wú)評(píng)論,31人圍觀)參與討論

還沒(méi)有評(píng)論,來(lái)說(shuō)兩句吧...

一本之道高请日本三级| 日韩欧洲免费视频网站| 成人无码92| 中国电影网| 午夜大屁股AV| 免费A级毛片无码免费视频首页| 国产影视精品久久影视| 综合青青| 日韩中文欧美| 欧美逼逼熟女日韩| 亚洲国产精品电影| 国产又粗又硬又黄| 我要看一级三级黄片| 欧美精品激情综合| 你懂得国产在线| 在线观看无码精品动漫 | 日韩高清免费A级毛片| 国产一区二区精品、Vjp| 中文字幕日本黄| 高清AV电影导航| 国产成人精品免费视频www| 日韩一级一区二区三区免费观看| 吃奶呻吟打开双腿做受视频| 日韩不卡无码视频| 国产精品秘 入| 国内女人喷潮完整视频 | 中文字幕综合一区日韩| 久久婷婷五月国产色综合激情| 国产精品久久久AV无码一区二区 | 亚洲中文字幕日韩经典空组| 色偷偷91久久综合噜噜噜| 日本成人大片| 人妻日本精品| 国产成人av在线| 97色噜噜狠狠网站久久| 久久精品成年人免费看国产片| 久久免费偷拍精品视频| 少妇无码AV无码专区在线| 色婷婷五月亚洲大全| 精品Ⅴa| 无码人妻精品视频|