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

什么是Maven及如何配置國內(nèi)源實(shí)現(xiàn)自動獲取jar包的操作

 更新時間:2024年11月18日 14:50:46   作者:GGBondlctrl  
本文介紹了Maven的基本概念,包括項(xiàng)目構(gòu)建、依賴管理、倉庫管理以及如何設(shè)置國內(nèi)源,通過Maven,開發(fā)者可以自動化管理項(xiàng)目的依賴和構(gòu)建流程,提高開發(fā)效率,感興趣的朋友跟隨小編一起看看吧

???1.Maven的了解

1.1什么是Maven

 在官方的文檔中對于Maven的介紹是如下所示的:Welcome to Apache Maven – Maven

 翻譯過來就是: Maven是?個項(xiàng)?管理?具。基于POM(Project Object Model,項(xiàng)?對象模型)的概念,Maven可以通 過??段描述信息來管理項(xiàng)?的構(gòu)建,報告和?檔的項(xiàng)?管理?具軟件。

但是大白話就是:

Maven是?個項(xiàng)?管理?具, 通過pom.xml?件的配置獲取jar包,?不??動去添加jar包 

1.2創(chuàng)建一個Maven項(xiàng)目

那么接下來就跟著小編進(jìn)行操作吧~~~

注意:IDEA本?已經(jīng)集成了Maven, 我們可以直接使?, ?需安裝

步驟:File -> New -> Project

如下圖所示:

然后點(diǎn)擊創(chuàng)建即可,此時我們就成功創(chuàng)建了一個Maven項(xiàng)目;

1.3Maven的核心功能

1.項(xiàng)目構(gòu)建

Maven 提供了標(biāo)準(zhǔn)的,跨平臺(Linux, Windows, MacOS等)的?動化項(xiàng)?構(gòu)建?式

當(dāng)我們開發(fā)了?個項(xiàng)?之后, 代碼需要經(jīng)過編譯, 測試, 打包, 發(fā)布等流程, 每次代碼的修改, 都需要經(jīng)過 這些流程, 如果代碼反復(fù)調(diào)試修改, 這個流程就需要反復(fù)進(jìn)?, 就顯得特別?煩,, ?Maven 給我們提供了 ?套簡單的命令來完成項(xiàng)目的構(gòu)建

點(diǎn)擊右邊框的Maven按鍵:

然后點(diǎn)擊這里的打包按鈕,此時那么就進(jìn)行打包的操作了,具體控制臺的顯示如下:

并且,我們可以發(fā)現(xiàn)此時在我們的項(xiàng)目創(chuàng)建的欄目中可以看到,多了一個jar為后綴的項(xiàng)目,就是我們所打的jar包:

解釋:

打包就是把所有的class?件, 全部放在?起, 打成jar包或者war包 jar包和war包都是?種壓縮?件

jar包:就是把開發(fā)?員已經(jīng)寫好的?些代碼進(jìn)?打包. 打好的jar包就可以引?到其他項(xiàng)?中, 也可以直 接使?這些jar包中的類和屬性.

打成可執(zhí)?jar包:這樣的包就可以通過java -jar命令來執(zhí)?

war包:可以理解為是?個web項(xiàng)?,??是項(xiàng)?的所有東西, 通常?于?站

2.管理依賴

上?說到, Maven是?個項(xiàng)?管理?具, 通過pom.xml?件的配置獲取jar包,?不??動去添加jar包 獲取的jar包, 其實(shí)就是依賴

依賴配置

在之前學(xué)習(xí)JDBC的時候,我們要添加mysql-connector-java的包.并且添加到項(xiàng)?中,此時才可以建立數(shù)據(jù)庫與idea的連接

此時我們使用Maven的時候,直接可以通過代碼操作直接導(dǎo)入jar包的操作,我們只需要在pom.xml中引?mysql-connector-java的依賴就可以了;

此時代碼如下所示:

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.30</version>
    </dependency>
</dependencies>

解釋:

在<dependencies>中部的所有代碼描述的就是建立依賴的坐標(biāo)

注意引入代碼后一定要記得刷新頁面;

Maven管理依賴的好處

使?maven的話, 就可以避免管理所需依賴的關(guān)系。我們只需要在pom?件中, 定義直接依賴就可以 了, 由于maven的依賴具有傳遞性,所以會?動把所依賴的其他jar包也?起導(dǎo)?

如下圖所示:

解釋:

在Maven項(xiàng)目引入jar包A后,那么此時就會自動的引入jar包A所依賴的jar包,那么此時就會自動一如jar包B與jar包C;

依賴的排除

當(dāng)前階段我們需要依賴的庫并不多, 但隨著項(xiàng)?的越來越復(fù)雜, 庫之間的依賴關(guān)系也會變得越來越復(fù)雜. 如上圖中, 如果項(xiàng)?A不需要Jar B,也可以通過排除依賴的?式來實(shí)現(xiàn)

此時我們主動使用代碼進(jìn)行依賴的排除:

<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-core</artifactId>
     <version>6.0.6</version>
     <!--排除依賴-->
     <exclusions>
          <exclusion>
          <artifactId>spring-jcl</artifactId>
          <groupId>org.springframework</groupId>
          </exclusion>
     </exclusions>
</dependency>

但是在idea中有一個插件可以幫助執(zhí)行依賴的排除;

Maven helper插件

當(dāng)項(xiàng)??較復(fù)雜時, 我們就會有Jar包沖突的問題, 這時候就需要去解決依賴沖突. 解決沖突之前, 需要先 找到?jīng)_突, 我們可以使?Maven Help插件來觀察包和包之間的依賴關(guān)系

下載方式:

File -> Settings ->Plugins -> 搜索'Maven Help' -> 找到對應(yīng)插件, 點(diǎn)擊Install 安裝即可, 安裝 后需要重啟下idea, 才能?效

圖示如下:

注意:下載后記得一定一定要進(jìn)行重啟的操作;

然后我們點(diǎn)擊下面的依賴選項(xiàng),可以看到依賴的關(guān)系:

此時我們可以通過手動右擊鼠標(biāo),然后就可以進(jìn)行手動的刪除這里的某些依賴;

???2.Maven的倉庫

我們通過短短??代碼, 就把依賴jar包放在了項(xiàng)??, 具體是如何做的呢?

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.30</version>
    </dependency>
</dependencies>

解釋:

這個代碼, 我們稱之為 "坐標(biāo)", 也就是唯?的. 在Maven中, 根據(jù) groupId、artifactId、version 的配置, 來唯?識別?個 jar 包, 缺?不可. 當(dāng)我們在pom?件中配置完依賴之后, 點(diǎn)擊刷新, Maven會根據(jù)坐標(biāo)的配置, 去倉庫?尋找Jar包, 并把他 下載下來, 添加到項(xiàng)?中. 這個Jar包下載的地?就稱為倉庫

Maven倉庫分為兩?類: 本地倉庫和遠(yuǎn)程倉庫. 其中遠(yuǎn)程倉庫?分為中央倉庫, 私服 和其他公共庫

2.1本地倉庫

本地倉庫: ??計算機(jī)上的?個?錄(?來存儲jar包) 當(dāng)項(xiàng)?中引?對應(yīng)依賴jar包后,?先會查找本地倉庫中是否有對應(yīng)的jar包 • 如果有,則在項(xiàng)?直接引? • 如果沒有,則去中央倉庫中下載對應(yīng)的jar包到本地倉庫;

本地倉庫地址可以通過Maven配置查看:

注意:小編這里的本地倉庫已經(jīng)是通過了國內(nèi)源的配置的(下文有講到) 

2.2中央倉庫 

中央倉庫: maven 軟件中內(nèi)置?個遠(yuǎn)程倉庫地址,就是中央倉庫,服務(wù)于整個互聯(lián)?. 由 Maven 團(tuán)隊(duì) 維護(hù),全球唯?.

倉庫地址:https://repo1.maven.org/maven2/

可以通過https://mvnrepository.com 這個?站來查詢并下載

我們可以把??寫好的Jar包上傳到中央倉庫(具備?定的要求), 也可以從中央倉庫下載Jar包

例如:我們進(jìn)行jar包的查詢

這里由于是國外的網(wǎng)站,所以訪問比較慢,所以小編推薦使用加速器~~~

點(diǎn)擊進(jìn)入:

 注意:一般來說點(diǎn)擊沒有漏洞的,并且這里的使用的人數(shù)盡可能多,這里點(diǎn)擊8.3.0~~~

往下面進(jìn)行翻,可以看到此時的依賴的代碼;

這就是我們添加進(jìn)入我們idea中的依賴的代碼源,就是我們jar包的坐標(biāo);

2.3私有服務(wù)器

私服: ?般由公司團(tuán)隊(duì)搭建的私有倉庫. 私服屬于某個公司,或者某個部?, 往往需要?定權(quán)限. 有了私服之后, Maven依賴下載的順序?發(fā)?了變化

如圖所示:

解釋:

1. 先從本地倉庫獲取, 本地倉庫存在, 則直接返回

2. 如果本地倉庫沒有, 就從私服請求, 私服存在該資源, 就直接返回

3. 如果私服上不存在該資源,則從中央倉庫下載, 中央倉庫不存在, 就報錯了...

4. 如果中央倉庫中存在, 就先緩存在私服上之后,再緩存到本地倉庫?, 再為Maven的下載請求提供服 務(wù)

2.4Maven設(shè)置國內(nèi)源

因?yàn)橹醒雮}庫在國外, 所以下載起來會?較慢, 所以咱們選擇借助國內(nèi)?些公開的遠(yuǎn)程倉庫來下載資源 接下來介紹, 如何設(shè)置國內(nèi)源

國內(nèi)使?時會?較慢,我們可以更換為阿?云 的倉庫

打開settings.xml, 在 mirrors 節(jié)點(diǎn)上,添加內(nèi)容如下:

<mirror>
 <id>aliyunmaven</id>
 <mirrorOf>central</mirrorOf>
 <name>阿?云公共倉庫</name>
 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
 </mirror>

然后將這個這個settings的xml文件添加到第一排這個文件路徑目錄上

小編這里是將這里的repository復(fù)制到新的路徑上面去了,所以這里的路徑就不是默認(rèn)的;

然后這里的setting的文件就是如下:

點(diǎn)擊進(jìn)入:小編這里使用的是sublime文本編輯器,所以具體的樣式就是如下所示的:

小編這里只截取了一小部分,所以就在你們的settings中添加就可以了,如果沒有就私信小編哦,小編為你解答~~~

???3.總結(jié)

本期總結(jié)了關(guān)于Maven在項(xiàng)目開發(fā)中的重要作用,從什么是Maven到理解它的核心功能,以及如何管理它的倉庫,進(jìn)行jar包坐標(biāo)的配置,以及如何設(shè)置國內(nèi)源都進(jìn)行了詳細(xì)的講述;

到此這篇關(guān)于什么是Maven,以及如何配置國內(nèi)源實(shí)現(xiàn)自動獲取jar包的文章就介紹到這了,更多相關(guān)Maven自動獲取jar包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java使用Scala實(shí)現(xiàn)尾遞歸優(yōu)化來解決爆棧問題

    Java使用Scala實(shí)現(xiàn)尾遞歸優(yōu)化來解決爆棧問題

    Scala?作為一種多范式的編程語言,結(jié)合了面向?qū)ο蠛秃瘮?shù)式編程的特性,在?Scala?中,尾遞歸?是通過編譯器優(yōu)化來防止棧溢出問題的,尾遞歸優(yōu)化是一種特殊的優(yōu)化方式,可以讓遞歸調(diào)用不使用新的棧幀,所以本文介紹了在Java項(xiàng)目中如何使用Scala實(shí)現(xiàn)尾遞歸優(yōu)化來解決爆棧問題
    2024-10-10
  • Java線程阻塞和喚醒的幾種方式詳解

    Java線程阻塞和喚醒的幾種方式詳解

    這篇文章主要介紹了Java線程阻塞和喚醒的幾種方式詳解,線程阻塞是指當(dāng)一個線程無法繼續(xù)執(zhí)行時,它會進(jìn)入阻塞狀態(tài),直到某個條件滿足后才能繼續(xù)執(zhí)行,線程阻塞可以通過多種方式實(shí)現(xiàn),如等待鎖、等待IO操作、等待其他線程的完成等,需要的朋友可以參考下
    2023-10-10
  • Java Character類的詳解

    Java Character類的詳解

    本篇文章主要詳細(xì)介紹了JAVA中 Character類 方法等,需要的朋友可以參考下
    2017-04-04
  • SpringBoot3.0集成MybatisPlus的實(shí)現(xiàn)方法

    SpringBoot3.0集成MybatisPlus的實(shí)現(xiàn)方法

    本文主要介紹了SpringBoot3.0集成MybatisPlus的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 詳解基于java的Socket聊天程序——客戶端(附demo)

    詳解基于java的Socket聊天程序——客戶端(附demo)

    這篇文章主要介紹了詳解基于java的Socket聊天程序——客戶端(附demo),客戶端設(shè)計主要分成兩個部分,分別是socket通訊模塊設(shè)計和UI相關(guān)設(shè)計。有興趣的可以了解一下。
    2016-12-12
  • Java更新調(diào)度器(update scheduler)的使用詳解

    Java更新調(diào)度器(update scheduler)的使用詳解

    Java更新調(diào)度器是Java中的一個特性,可以自動化Java應(yīng)用程序的更新過程,它提供了一種方便的方式來安排Java應(yīng)用程序的更新,確保其與最新的功能、錯誤修復(fù)和安全補(bǔ)丁保持同步,本文將深入介紹如何使用Java更新調(diào)度器,并解釋它對Java開發(fā)人員和用戶的好處
    2023-11-11
  • java中封裝的實(shí)現(xiàn)方法詳解

    java中封裝的實(shí)現(xiàn)方法詳解

    在本篇文章里我們給大家詳細(xì)分享了關(guān)于java中封裝的實(shí)現(xiàn)方法,有需要的朋友們跟著學(xué)習(xí)下。
    2018-10-10
  • SpringBoot整合Mysql和Redis的詳細(xì)過程

    SpringBoot整合Mysql和Redis的詳細(xì)過程

    這篇文章主要介紹了SpringBoot整合Mysql和Redis的示例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • 多線程下嵌套異步任務(wù)導(dǎo)致程序假死問題

    多線程下嵌套異步任務(wù)導(dǎo)致程序假死問題

    這篇文章主要介紹了多線程下嵌套異步任務(wù)導(dǎo)致程序假死問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java?Stream如何將List分組成Map或LinkedHashMap

    Java?Stream如何將List分組成Map或LinkedHashMap

    這篇文章主要給大家介紹了關(guān)于Java?Stream如何將List分組成Map或LinkedHashMap的相關(guān)資料,stream流是Java8的新特性,極大簡化了集合的處理操作,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12

最新評論

河西区| 建瓯市| 察隅县| 北京市| 昌都县| 昔阳县| 铁岭县| 岐山县| 霍林郭勒市| 兴安盟| 开化县| 宜良县| 永昌县| 格尔木市| 石屏县| 南投县| 琼中| 东源县| 格尔木市| 惠安县| 建德市| 奉新县| 曲周县| 怀仁县| 新民市| 勃利县| 海伦市| 伽师县| 荆州市| 松桃| 浦县| 涡阳县| 绍兴市| 红桥区| 保靖县| 基隆市| 商丘市| 建水县| 望都县| 开化县| 武陟县|