欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

???1.Maven的了解

1.1什么是Maven

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

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

但是大白話就是:

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

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

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

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

步驟:File -> New -> Project

如下圖所示:

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

1.3Maven的核心功能

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

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

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

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

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

并且,我們可以發(fā)現(xiàn)此時(shí)在我們的項(xiàng)目創(chuàng)建的欄目中可以看到,多了一個(gè)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包:可以理解為是?個(gè)web項(xiàng)?,??是項(xiàng)?的所有東西, 通常?于?站

2.管理依賴

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

依賴配置

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

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

此時(shí)代碼如下所示:

<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的依賴具有傳遞性,所以會(huì)?動(dòng)把所依賴的其他jar包也?起導(dǎo)?

如下圖所示:

解釋:

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

依賴的排除

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

此時(shí)我們主動(dòng)使用代碼進(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中有一個(gè)插件可以幫助執(zhí)行依賴的排除;

Maven helper插件

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

下載方式:

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

圖示如下:

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

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

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

???2.Maven的倉庫

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

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

解釋:

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

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

2.1本地倉庫

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

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

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

2.2中央倉庫 

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

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

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

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

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

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

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

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

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

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

2.3私有服務(wù)器

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

如圖所示:

解釋:

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

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

3. 如果私服上不存在該資源,則從中央倉庫下載, 中央倉庫不存在, 就報(bào)錯(cuò)了...

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

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

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

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

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

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

小編這里是將這里的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è)置國(guó)內(nèi)源都進(jìn)行了詳細(xì)的講述;

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

相關(guān)文章

  • Java實(shí)現(xiàn)鼠標(biāo)隨機(jī)移動(dòng)效果的示例代碼

    Java實(shí)現(xiàn)鼠標(biāo)隨機(jī)移動(dòng)效果的示例代碼

    有的時(shí)候我們需要鼠標(biāo)一直滑動(dòng)的情況,為了節(jié)省時(shí)間,本文用Java語言寫了一個(gè)腳本,可以實(shí)現(xiàn)鼠標(biāo)隨機(jī)移動(dòng),感興趣的小伙伴可以了解一下
    2022-05-05
  • Spring MVC學(xué)習(xí)教程之視圖深入解析

    Spring MVC學(xué)習(xí)教程之視圖深入解析

    這篇文章主要給大家介紹了關(guān)于Spring MVC學(xué)習(xí)教程之視圖解析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或使用spring mvc具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧
    2018-11-11
  • Java中關(guān)于String的全面解析

    Java中關(guān)于String的全面解析

    這篇文章主要介紹了Java中關(guān)于String全面解析,下面我們來一起學(xué)習(xí)一下吧
    2019-05-05
  • Java WebSocket客戶端接收大量數(shù)據(jù)的三種方案

    Java WebSocket客戶端接收大量數(shù)據(jù)的三種方案

    WebSocket是一種基于TCP協(xié)議的全雙工通信協(xié)議,它能夠在客戶端和服務(wù)器之間建立一個(gè)持久連接,實(shí)現(xiàn)實(shí)時(shí)的雙向數(shù)據(jù)傳輸,在實(shí)際應(yīng)用中,有時(shí)候我們需要處理大量的數(shù)據(jù),所以本文將介紹如何使用 Java WebSocket 客戶端接收大量數(shù)據(jù),并提供一些優(yōu)化方案
    2023-11-11
  • 詳解Spring學(xué)習(xí)總結(jié)——Spring實(shí)現(xiàn)AOP的多種方式

    詳解Spring學(xué)習(xí)總結(jié)——Spring實(shí)現(xiàn)AOP的多種方式

    這篇文章主要介紹了詳解Spring學(xué)習(xí)總結(jié)——Spring實(shí)現(xiàn)AOP的多種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • Spring Boot項(xiàng)目搭建的兩種方式

    Spring Boot項(xiàng)目搭建的兩種方式

    springboot簡(jiǎn)單快捷方便的優(yōu)點(diǎn)深受用戶喜愛,springboot開發(fā)環(huán)境搭建過程是每個(gè)開發(fā)者必須要做的工作,今天小編寫的一篇教程關(guān)于Spring Boot項(xiàng)目搭建方法,通過兩種方式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-06-06
  • java解析excel文件的方法

    java解析excel文件的方法

    這篇文章主要介紹了java解析excel文件的方法,這里整理相關(guān)的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • Linux下Java開發(fā)環(huán)境搭建以及第一個(gè)HelloWorld

    Linux下Java開發(fā)環(huán)境搭建以及第一個(gè)HelloWorld

    這篇文章主要介紹了Linux下Java開發(fā)環(huán)境搭建以及第一個(gè)HelloWorld的實(shí)現(xiàn)過程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-09-09
  • SpringBoot 集成 Nebula的操作過程

    SpringBoot 集成 Nebula的操作過程

    這篇文章主要介紹了SpringBoot 集成 Nebula的操作過程,通過示例代碼介紹了java 環(huán)境下如何對(duì) Nebula Graph 進(jìn)行操作,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • SpringBoot實(shí)現(xiàn)優(yōu)雅停機(jī)的正確方法

    SpringBoot實(shí)現(xiàn)優(yōu)雅停機(jī)的正確方法

    什么叫優(yōu)雅停機(jī)?就是向應(yīng)用進(jìn)程發(fā)出停止指令之后,能保證正在執(zhí)行的業(yè)務(wù)操作不受影響,直到操作運(yùn)行完畢之后再停止服務(wù)。本文就來和大家聊聊SpringBoot實(shí)現(xiàn)優(yōu)雅停機(jī)的正確姿勢(shì),希望對(duì)大家有所幫助
    2023-01-01

最新評(píng)論