狠狠色噜噜狠狠狠狠2021,久久精品国产亚洲av麻豆白洁,777米奇影视盒,国内精品老年人视频网站

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

今天是劉小愛自學(xué)Java的第99天。

感謝你的觀看,謝謝你。

話不多說,開始今天的學(xué)習(xí):

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

昨天下載并配置了Maven,今天就實(shí)際操作下。

Maven的一個(gè)核心作用就是管理項(xiàng)目的依賴,這個(gè)依賴就可以理解成jar包。

有了它就不用再去網(wǎng)上一個(gè)一個(gè)找jar包了,直接添加jar包的坐標(biāo)就好。

那么其具體如何導(dǎo)入呢?

一、依賴管理

在maven工程中,有一個(gè)核心配置文件pom.xml,在該配置文件中即可以引入依賴。

1本地倉庫引入

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

<dependencies>標(biāo)簽就好比以前的lib包,<dependencie>標(biāo)簽也就對(duì)應(yīng)著jar包。

其中關(guān)于標(biāo)簽名:

  • groupId:定義當(dāng)前項(xiàng)目(jar包)隸屬的實(shí)際項(xiàng)目組。
  • artifactId:定義當(dāng)前項(xiàng)目(jar包)的名稱。
  • version:定義當(dāng)前項(xiàng)目(jar包)的版本號(hào)。

正是因?yàn)橛辛藇ersion這個(gè)標(biāo)簽的存在,通過該標(biāo)簽統(tǒng)一版本起來也方便了很多。

因?yàn)檫@兩種依賴很常見,我本地倉庫中已經(jīng)有了,所以導(dǎo)入依賴時(shí)根據(jù)提示就可以導(dǎo)入。

此外在開發(fā)工具中也可以直接搜索依賴:

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

使用快捷鍵:Alt Insert,可以搜索對(duì)應(yīng)的依賴,點(diǎn)擊即可以引入依賴。

不過上述這兩種情況,都是本地倉庫中存在對(duì)應(yīng)的依賴才能夠被搜索到。

如果本地倉庫沒有,就需要使用到私服了。

2私服引入

昨天在配置文件夾中就配置過對(duì)應(yīng)的私服。

使用的是阿里云私服,將其路徑復(fù)制下來訪問,可以訪問到如下界面:

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

通過文件搜索功能可以搜索到需要的依賴,比如我這邊搜索的是druid。

找到對(duì)應(yīng)的jar包點(diǎn)擊,可以下載對(duì)應(yīng)的jar包,但是如果是使用maven,不用下載。

將依賴復(fù)制后在項(xiàng)目中引入即可。

在引入依賴后開發(fā)工具右下角會(huì)出現(xiàn)如下提示:

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

點(diǎn)擊import Changes就完成依賴的引入了。

同時(shí)也會(huì)將該依賴下載到本地倉庫中。

二、依賴配置

在引入需要使用的依賴后,有時(shí)候不能直接就使用當(dāng)前的依賴,需要對(duì)這些依賴進(jìn)行配置。

1依賴范圍設(shè)置

maven的運(yùn)行環(huán)境有三種:編譯classpath,測(cè)試classpath,運(yùn)行classpath。

而依賴范圍設(shè)置就是用來控制依賴與這三種classpath之間的關(guān)系的。

其中依賴范圍都是在標(biāo)簽<scope>中配置:

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

①編譯依賴范圍compile

如果沒有指定,默認(rèn)就是這種依賴范圍。

使用此依賴范圍的Maven依賴,對(duì)于編譯、測(cè)試、運(yùn)行三種classpath都有效。

典型的例子就是jdbcTemplate,它在編譯、測(cè)試和運(yùn)行代碼時(shí)都需要。

②測(cè)試依賴范圍test

使用此依賴范圍的Maven依賴,只對(duì)測(cè)試classpath有效。

在編譯和運(yùn)行項(xiàng)目期間都不需要使用此依賴。

典型的例子就是Junit,它只在測(cè)試代碼時(shí)有效。

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

③已提供依賴范圍:provided

使用此依賴范圍的maven依賴在編譯和測(cè)試classpath有效,但運(yùn)行時(shí)無效。

典型的例子就是servlet-api。

編譯和測(cè)試的時(shí)候需要使用servlet-api中的方法,但是使用tomcat運(yùn)行項(xiàng)目的時(shí)候不需要。

我們查看下Tomcat的文件路徑,會(huì)發(fā)現(xiàn)其本身就自帶了該jar包。

所以Tomcat在運(yùn)行期間會(huì)自動(dòng)提供這個(gè)依賴。

如果我們引入的該依賴在運(yùn)行時(shí)也有效,一旦和Tomcat自帶的版本不一樣,就會(huì)出現(xiàn)沖突。

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

④運(yùn)行時(shí)依賴范圍:runtime

使用此依賴范圍的maven依賴對(duì)于測(cè)試和運(yùn)行classpath有效,但在編譯時(shí)無效。

典型的例子是JDBC驅(qū)動(dòng)實(shí)現(xiàn)。

項(xiàng)目中只有在執(zhí)行測(cè)試或者運(yùn)行項(xiàng)目的時(shí)候才需要該依賴。

⑤系統(tǒng)依賴范圍:system

該依賴和provided依賴范圍完全一致。

但是此依賴不是來自Maven的中央倉庫。

使用system范圍的依賴時(shí)必須通過<systemPath>標(biāo)簽指定依賴文件的路徑。

典型的例子是Oracle的驅(qū)動(dòng)包。

該依賴從中央倉庫無法下載,需要先將Oracle的驅(qū)動(dòng)包下載到本地,再通過本地路徑引入。

該依賴范圍了解即可,使用不常見。

注意:

上述編譯都是指對(duì)項(xiàng)目主代碼的編譯,不包含對(duì)于測(cè)試代碼的編譯。

2依賴版本維護(hù)

事實(shí)上,在一個(gè)項(xiàng)目中,需要引入的依賴是很多的,可能有幾十個(gè)。

而各個(gè)依賴又有不同的版本,為了統(tǒng)一維護(hù)版本,可以專門將依賴的版本抽取出來統(tǒng)一管理:

項(xiàng)目管理工具maven,使用起來真香(maven管理項(xiàng)目有什么好處)

在<properties>標(biāo)簽中放入各個(gè)依賴的版本號(hào)。

版本標(biāo)簽命名格式為依賴名.version。

在對(duì)應(yīng)的依賴<version>中使用${}引入前面定義好的版本即可。

最后

謝謝你的觀看。

如果可以的話,麻煩幫忙點(diǎn)個(gè)贊,謝謝你。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2023年11月26日 上午9:38
下一篇 2023年11月26日 上午9:54

相關(guān)推薦