昨天下載並配置了maven,今天就實際操作下。
Maven的一個核心作用就是管理項目的依賴,這個依賴就可以理解成jar包。
有了它就不用再去網上一個一個找jar包了,直接添加jar包的坐標就好。
那麼其具體如何導入呢?
一、依賴管理
在maven工程中,有一個核心配置文件pom.xml,在該配置文件中即可以引入依賴。
1本地倉庫引入

<dependencies>標籤就好比以前的lib包,<dependencie>標籤也就對應着jar包。
其中關於標籤名:
- groupId:定義當前項目(jar包)隸屬的實際項目組。
- artifactId:定義當前項目(jar包)的名稱。
- version:定義當前項目(jar包)的版本號。
正是因為有了version這個標籤的存在,通過該標籤統一版本起來也方便了很多。
因為這兩種依賴很常見,我本地倉庫中已經有了,所以導入依賴時根據提示就可以導入。
此外在開發工具中也可以直接搜索依賴:

使用快捷鍵:Alt+Insert,可以搜索對應的依賴,點擊即可以引入依賴。
不過上述這兩種情況,都是本地倉庫中存在對應的依賴才能夠被搜索到。
如果本地倉庫沒有,就需要使用到私服了。
2私服引入
昨天在配置文件夾中就配置過對應的私服。
使用的是阿里雲私服,將其路徑複製下來訪問,可以訪問到如下界面:

通過文件搜索功能可以搜索到需要的依賴,比如我這邊搜索的是druid。
找到對應的jar包點擊,可以下載對應的jar包,但是如果是使用maven,不用下載。
將依賴複製後在項目中引入即可。
在引入依賴後開發工具右下角會出現如下提示:

點擊import Changes就完成依賴的引入了。
同時也會將該依賴下載到本地倉庫中。
二、依賴配置
在引入需要使用的依賴後,有時候不能直接就使用當前的依賴,需要對這些依賴進行配置。
1依賴範圍設置
maven的運行環境有三種:編譯classpath,測試classpath,運行classpath。
而依賴範圍設置就是用來控制依賴與這三種classpath之間的關係的。
其中依賴範圍都是在標籤<scope>中配置:

①編譯依賴範圍compile
如果沒有指定,默認就是這種依賴範圍。
使用此依賴範圍的Maven依賴,對於編譯、測試、運行三種classpath都有效。
典型的例子就是jdbcTemplate,它在編譯、測試和運行代碼時都需要。
②測試依賴範圍test
使用此依賴範圍的Maven依賴,只對測試classpath有效。
在編譯和運行項目期間都不需要使用此依賴。
典型的例子就是Junit,它只在測試代碼時有效。

③已提供依賴範圍:provided
使用此依賴範圍的maven依賴在編譯和測試classpath有效,但運行時無效。
典型的例子就是servlet-api。
編譯和測試的時候需要使用servlet-api中的方法,但是使用tomcat運行項目的時候不需要。
我們查看下Tomcat的文件路徑,會發現其本身就自帶了該jar包。
所以Tomcat在運行期間會自動提供這個依賴。
如果我們引入的該依賴在運行時也有效,一旦和Tomcat自帶的版本不一樣,就會出現衝突。

④運行時依賴範圍:runtime
使用此依賴範圍的maven依賴對於測試和運行classpath有效,但在編譯時無效。
典型的例子是JDBC驅動實現。
項目中只有在執行測試或者運行項目的時候才需要該依賴。
⑤系統依賴範圍:system
該依賴和provided依賴範圍完全一致。
但是此依賴不是來自Maven的中央倉庫。
使用system範圍的依賴時必須通過<systemPath>標籤指定依賴文件的路徑。
典型的例子是Oracle的驅動包。
該依賴從中央倉庫無法下載,需要先將Oracle的驅動包下載到本地,再通過本地路徑引入。
該依賴範圍了解即可,使用不常見。
注意:
上述編譯都是指對項目主代碼的編譯,不包含對於測試代碼的編譯。
2依賴版本維護
事實上,在一個項目中,需要引入的依賴是很多的,可能有幾十個。
而各個依賴又有不同的版本,為了統一維護版本,可以專門將依賴的版本抽取出來統一管理:

在<properties>標籤中放入各個依賴的版本號。
版本標籤命名格式為依賴名.version。
在對應的依賴<version>中使用${}引入前面定義好的版本即可。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/212956.html