今天是劉小愛自學(xué)Java的第99天。
感謝你的觀看,謝謝你。
話不多說,開始今天的學(xué)習(xí):
昨天下載并配置了Maven,今天就實際操作下。
Maven的一個核心作用就是管理項目的依賴,這個依賴就可以理解成jar包。
有了它就不用再去網(wǎng)上一個一個找jar包了,直接添加jar包的坐標(biāo)就好。
那么其具體如何導(dǎo)入呢?
一、依賴管理
在maven工程中,有一個核心配置文件pom.xml,在該配置文件中即可以引入依賴。
1本地倉庫引入
<dependencies>標(biāo)簽就好比以前的lib包,<dependencie>標(biāo)簽也就對應(yīng)著jar包。
其中關(guān)于標(biāo)簽名:
- groupId:定義當(dāng)前項目(jar包)隸屬的實際項目組。
- artifactId:定義當(dāng)前項目(jar包)的名稱。
- version:定義當(dāng)前項目(jar包)的版本號。
正是因為有了version這個標(biāo)簽的存在,通過該標(biāo)簽統(tǒng)一版本起來也方便了很多。
因為這兩種依賴很常見,我本地倉庫中已經(jīng)有了,所以導(dǎo)入依賴時根據(jù)提示就可以導(dǎo)入。
此外在開發(fā)工具中也可以直接搜索依賴:
使用快捷鍵:Alt Insert,可以搜索對應(yīng)的依賴,點擊即可以引入依賴。
不過上述這兩種情況,都是本地倉庫中存在對應(yīng)的依賴才能夠被搜索到。
如果本地倉庫沒有,就需要使用到私服了。
2私服引入
昨天在配置文件夾中就配置過對應(yīng)的私服。
使用的是阿里云私服,將其路徑復(fù)制下來訪問,可以訪問到如下界面:
通過文件搜索功能可以搜索到需要的依賴,比如我這邊搜索的是druid。
找到對應(yīng)的jar包點擊,可以下載對應(yīng)的jar包,但是如果是使用maven,不用下載。
將依賴復(fù)制后在項目中引入即可。
在引入依賴后開發(fā)工具右下角會出現(xiàn)如下提示:
點擊import Changes就完成依賴的引入了。
同時也會將該依賴下載到本地倉庫中。
二、依賴配置
在引入需要使用的依賴后,有時候不能直接就使用當(dāng)前的依賴,需要對這些依賴進行配置。
1依賴范圍設(shè)置
maven的運行環(huán)境有三種:編譯classpath,測試classpath,運行classpath。
而依賴范圍設(shè)置就是用來控制依賴與這三種classpath之間的關(guān)系的。
其中依賴范圍都是在標(biāo)簽<scope>中配置:
①編譯依賴范圍compile
如果沒有指定,默認就是這種依賴范圍。
使用此依賴范圍的Maven依賴,對于編譯、測試、運行三種classpath都有效。
典型的例子就是jdbcTemplate,它在編譯、測試和運行代碼時都需要。
②測試依賴范圍test
使用此依賴范圍的Maven依賴,只對測試classpath有效。
在編譯和運行項目期間都不需要使用此依賴。
典型的例子就是Junit,它只在測試代碼時有效。
③已提供依賴范圍:provided
使用此依賴范圍的maven依賴在編譯和測試classpath有效,但運行時無效。
典型的例子就是servlet-api。
編譯和測試的時候需要使用servlet-api中的方法,但是使用tomcat運行項目的時候不需要。
我們查看下Tomcat的文件路徑,會發(fā)現(xiàn)其本身就自帶了該jar包。
所以Tomcat在運行期間會自動提供這個依賴。
如果我們引入的該依賴在運行時也有效,一旦和Tomcat自帶的版本不一樣,就會出現(xiàn)沖突。
④運行時依賴范圍:runtime
使用此依賴范圍的maven依賴對于測試和運行classpath有效,但在編譯時無效。
典型的例子是JDBC驅(qū)動實現(xiàn)。
項目中只有在執(zhí)行測試或者運行項目的時候才需要該依賴。
⑤系統(tǒng)依賴范圍:system
該依賴和provided依賴范圍完全一致。
但是此依賴不是來自Maven的中央倉庫。
使用system范圍的依賴時必須通過<systemPath>標(biāo)簽指定依賴文件的路徑。
典型的例子是Oracle的驅(qū)動包。
該依賴從中央倉庫無法下載,需要先將Oracle的驅(qū)動包下載到本地,再通過本地路徑引入。
該依賴范圍了解即可,使用不常見。
注意:
上述編譯都是指對項目主代碼的編譯,不包含對于測試代碼的編譯。
2依賴版本維護
事實上,在一個項目中,需要引入的依賴是很多的,可能有幾十個。
而各個依賴又有不同的版本,為了統(tǒng)一維護版本,可以專門將依賴的版本抽取出來統(tǒng)一管理:
在<properties>標(biāo)簽中放入各個依賴的版本號。
版本標(biāo)簽命名格式為依賴名.version。
在對應(yīng)的依賴<version>中使用${}引入前面定義好的版本即可。
最后
謝謝你的觀看。
如果可以的話,麻煩幫忙點個贊,謝謝你。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。