欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:java Maven

柚子快報激活碼778899分享:java Maven

http://yzkb.51969.com/

什么是Maven

定義:Maven是一個項目管理工具.基于POM(項目對象模型)的概念,Maven可以通過一小段描述信息來管理項目的構(gòu)建,報告和文檔的項目管理工具軟件.

大白話:Maven是一個項目管理工具,通過pom.xml文件的配置獲取jar包.

為什么要學(xué)Maven

一句話:簡單,方便,提高我們的開發(fā)效率,減小我們的開發(fā)BUG.

Maven提供的功能非常多,這里終點講兩個方面:1.項目構(gòu)建 2.管理依賴

Maven核心功能

項目構(gòu)建

Maven提供了標準的,跨平臺的自動化項目構(gòu)建方式.

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

形如這些就是Maven提供的命令,在idea左上角點擊maven可以找到.

比如:package命令就是項目的打包操作.(打包就是把所有class文件,全部放一起,打成jar包或war包)

?jar包和war包都是一種壓縮文件

jar包就是把開發(fā)人員寫好的一些代碼進行打包.打好的jar包就可以引入到其它項目中,也可以直接使用這些jar包中的類和屬性.另外也可以打成可執(zhí)行jar包,這樣的包就可以通過java-jar命令執(zhí)行.

war包可以理解為是一個web項目,里面是項目的所有東西,通常用于網(wǎng)站.

依賴管理

上面說到,Mave是一個項目管理工具,通過pom.xml文件的配置獲取jar包,而不是手動添加jar包,獲取的jar包,其實就是依賴.

pom.xml就是maven的配置文件, 用以描述項目的各種信息.?

依賴配置

依賴:指當前項目運行所需要的jar包.

如果使用Maven,我們只需要在pom.xml中引入mysql-connector-java依賴就可以了

1.在pom文件標簽內(nèi),添加依賴坐標.

mysql

mysql-connector-java

8.0.30

2.點擊刷新按鈕,引入新加入的依賴jar包.

后續(xù)添加新的jar包,或者修改jar包版本,都是通過該方式在項目中添加依賴.?

?

依賴傳遞

?早期沒有maven時,向項目中添加依賴的jar包,需要把所有的jar包都復(fù)制到項目工程下.

比如A依賴B,B依賴C,那么A項目引入B的同時,也需要引入C,如果我們手動管理這個依賴,這個過程就會比較麻煩,我們需要知道每個庫都依賴于哪些庫,以及這些依賴之間的版本是如何關(guān)聯(lián)的.

比如我們要吃火鍋,需要有鍋,有調(diào)料,有食材,以及確認什么樣的鍋,什么樣的食材.

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

比如吃火鍋,現(xiàn)在可以直接點一個外賣,直接就把所有食材都送過來了,包括什么鍋,配什么菜.?

?

如上圖,項目A通過Maven引入Jar A時,會自動引入Jar B和Jar C.

Jar A和項目B就是項目A的直接依賴, Jar B和Jar C是間接依賴.

直接依賴:在當前項目中通過依賴配置建立的依賴關(guān)系.

間接依賴:被依賴的資源如果依賴其它資源,當前項目間接依賴其它資源.?

依賴排除

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

排除依賴:指主動斷開依賴的資源.(被排除的資源無需指定版本).?

org.springframework

spring-core

6.0.6

spring-jcl

org.springframework

maven還有一些功能是依賴調(diào)解,可選依賴等.

依賴調(diào)解:

當項目中的依賴存在依賴沖突時(比如上圖,Jar C一個版本是1.0,另一個版本是2.0,兩個版本不一致可能會引起沖突),例如存在這樣的依賴:

A->B->C->X(1.0)

A->D->X(2.0)

Maven會采用最短路徑優(yōu)先的原則去選擇依賴,這里的2路徑更短,所以我們會選擇X(2.0),當然我們也可以選擇指定某個依賴的版本.

當然也可以指定X的版本.?

?Maven倉庫

我們通過短短幾行代碼,就把依賴jar包放在了項目里,具體是如何做的呢?

mysql

mysql-connector-java

8.0.30

這個代碼,我們稱之為"坐標",也就是唯一的.

在Maven中,根據(jù)groupId,artifactId,version的配置,來唯一識別一個jar包,缺一不可.

當我們在pom文件中配置完依賴之后,點擊刷新,Maven會根據(jù)坐標的配置,去倉庫里尋找jar包,并把它下載下來,添加到項目中.這個Jar包下載的地方就叫倉庫.

倉庫:用于存儲資源,管理各種jar包.

Maven倉庫的本質(zhì)就是一個目錄(文件夾),這個目錄被用來存儲開發(fā)中的所有依賴(jar包,插件等).?

倉庫分為兩大類:本地倉庫和遠程倉庫.其中遠程倉庫又分為中央倉庫,私服和其它倉庫.

本地倉庫

本地倉庫:自己計算機上的一個目錄(用來存儲jar包).

當項目中引入對應(yīng)依賴的jar包后,首先會查找本地倉庫中是否有對應(yīng)的jar包.

如果有,則在項目中直接引用.

如果沒有,則去中央倉庫中下載對應(yīng)的jar包到本地倉庫.

中央倉庫

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

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

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

私有服務(wù)器(私服)?

?私服:一般由公司團隊搭建的私有倉庫.

私服屬于某個公司,或者某個部門,往往需要一定的權(quán)限.

有了私服之后,Maven依賴下載的順序又發(fā)生了變化.

當Maven需要下載資源時

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

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

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

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

私服是很多人在使用的,所以只需要第一個使用者下載一次就可以了.?

柚子快報激活碼778899分享:java Maven

http://yzkb.51969.com/

參考文章

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/18645068.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄