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

maven中央倉庫(Maven倉庫如何搭建保姆級(jí)教程)

maven中央倉庫(Maven倉庫如何搭建保姆級(jí)教程)

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

大家好,我是袁庭新。

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

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

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

1.倉庫的分類

Maven倉庫可以分為2個(gè)大類:

本地倉庫遠(yuǎn)程倉庫

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

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

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

Maven倉庫的分類如下圖。

Maven倉庫如何搭建?保姆級(jí)教程

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

2.本地倉庫

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

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

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

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

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

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

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

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

3.中央倉庫

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

中央倉庫具有如下特點(diǎn):

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

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

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

4.遠(yuǎn)程倉庫

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

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

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

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

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

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

1.打開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>阿里云公共倉庫</name> <url>https://maven.aliyun.com/repository/public</url></mirror>

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

<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>

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

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 華為云鏡像

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

4.3 鏡像與Maven私服配合使用

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

<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)程倉庫,所有對(duì)于遠(yuǎn)程倉庫的請(qǐng)求都會(huì)被攔截,并跳轉(zhuǎn)到url元素指定的地址。

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

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

需要注意的是,由于鏡像倉庫完全屏蔽了被鏡像倉庫,當(dāng)鏡像倉庫不穩(wěn)定或者停止服務(wù)時(shí),Maven也無法訪問被鏡像倉庫,因而將無法下載構(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 倉庫相關(guān)知識(shí)。Maven 倉庫用于存放依賴和插件,分為本地倉庫和遠(yuǎn)程倉庫(中央倉庫、私服、其他公共倉庫)。本地倉庫是本地計(jì)算機(jī)目錄,默認(rèn)地址可修改。中央倉庫由 Maven 社區(qū)管理,默認(rèn)優(yōu)先從其下載構(gòu)件。遠(yuǎn)程倉庫可定制,國內(nèi)常用阿里云和華為云鏡像解決下載問題。還講述了私服及鏡像與私服配合使用,以及在 settings.xml 中通過 Profiles 配置限定項(xiàng)目默認(rèn) JDK 版本等內(nèi)容,為 Maven 項(xiàng)目構(gòu)建提供了重要的倉庫管理指導(dǎo)。

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

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

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

快捷回復(fù):

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

還沒有評(píng)論,來說兩句吧...

日韩在线色欲一区二区视频| 一级片免费看片| 国产精品日本一起草| 亚洲欧洲av综合一区二区三区| 97国产成人精品视频| 亚洲av片不卡无码一动漫| 日韩毛片无码永久免费看| 中文字幕亚洲视频一区| 午夜精品一区二区成人AV| 日韩无在线| 字幕免费久久99中文| 国产SUV精品一区二区69| 日本黄色大片中文字幕| 五月丁丁香久久| 欧美黄片一区二区三区| 囯产一级兔费在线| 综合久久婷婷88| 人妻无码一区二区不卡无码av | 青青久久精品国产免费看| 亚洲精品免费观看| 久久精品极品盛宴免视| 蜜桃jiujiujiu| 亚洲国产精品无码中文字| 无码中文字幕动漫| 97久久97| 日本一区二期三区视频| 欧美大尺寸视频| 久久精品国产99久久香蕉| 蜜桃av网| 美女AA片久久久精品区| 欧美精品日韩成人| 日本熟妇教师| 色动态五月天| 丁香久久AV| 国产精品无码国模私拍视频| 亚洲国产综合精品一区二区99| 免费特黄一区二区三区视频一 | 中文字幕av高潮| 色婷婷 色五月| 欧美成人乱码一区二区三区 | 一级a一片久久免费|