軟件項目管理案例教程:項目管理軟件工具有哪些

昨天下載並配置了maven,今天就實際操作下。

Maven的一個核心作用就是管理項目的依賴,這個依賴就可以理解成jar包。

有了它就不用再去網上一個一個找jar包了,直接添加jar包的坐標就好。

那麼其具體如何導入呢?

一、依賴管理

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

1本地倉庫引入

項目管理工具maven,使用起來真香

<dependencies>標籤就好比以前的lib包,<dependencie>標籤也就對應着jar包。

其中關於標籤名:

  • groupId:定義當前項目(jar包)隸屬的實際項目組。
  • artifactId:定義當前項目(jar包)的名稱。
  • version:定義當前項目(jar包)的版本號。

正是因為有了version這個標籤的存在,通過該標籤統一版本起來也方便了很多。

因為這兩種依賴很常見,我本地倉庫中已經有了,所以導入依賴時根據提示就可以導入。

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

項目管理工具maven,使用起來真香

使用快捷鍵:Alt+Insert,可以搜索對應的依賴,點擊即可以引入依賴。

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

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

2私服引入

昨天在配置文件夾中就配置過對應的私服。

使用的是阿里雲私服,將其路徑複製下來訪問,可以訪問到如下界面:

項目管理工具maven,使用起來真香

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

找到對應的jar包點擊,可以下載對應的jar包,但是如果是使用maven,不用下載。

將依賴複製後在項目中引入即可。

在引入依賴後開發工具右下角會出現如下提示:

項目管理工具maven,使用起來真香

點擊import Changes就完成依賴的引入了。

同時也會將該依賴下載到本地倉庫中。

二、依賴配置

在引入需要使用的依賴後,有時候不能直接就使用當前的依賴,需要對這些依賴進行配置。

1依賴範圍設置

maven的運行環境有三種:編譯classpath,測試classpath,運行classpath。

而依賴範圍設置就是用來控制依賴與這三種classpath之間的關係的。

其中依賴範圍都是在標籤<scope>中配置:

項目管理工具maven,使用起來真香

①編譯依賴範圍compile

如果沒有指定,默認就是這種依賴範圍。

使用此依賴範圍的Maven依賴,對於編譯、測試、運行三種classpath都有效。

典型的例子就是jdbcTemplate,它在編譯、測試和運行代碼時都需要。

②測試依賴範圍test

使用此依賴範圍的Maven依賴,只對測試classpath有效。

在編譯和運行項目期間都不需要使用此依賴。

典型的例子就是Junit,它只在測試代碼時有效。

項目管理工具maven,使用起來真香

③已提供依賴範圍:provided

使用此依賴範圍的maven依賴在編譯和測試classpath有效,但運行時無效。

典型的例子就是servlet-api。

編譯和測試的時候需要使用servlet-api中的方法,但是使用tomcat運行項目的時候不需要。

我們查看下Tomcat的文件路徑,會發現其本身就自帶了該jar包。

所以Tomcat在運行期間會自動提供這個依賴。

如果我們引入的該依賴在運行時也有效,一旦和Tomcat自帶的版本不一樣,就會出現衝突。

項目管理工具maven,使用起來真香

④運行時依賴範圍:runtime

使用此依賴範圍的maven依賴對於測試和運行classpath有效,但在編譯時無效。

典型的例子是JDBC驅動實現。

項目中只有在執行測試或者運行項目的時候才需要該依賴。

⑤系統依賴範圍:system

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

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

使用system範圍的依賴時必須通過<systemPath>標籤指定依賴文件的路徑。

典型的例子是Oracle的驅動包。

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

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

注意:

上述編譯都是指對項目主代碼的編譯,不包含對於測試代碼的編譯。

2依賴版本維護

事實上,在一個項目中,需要引入的依賴是很多的,可能有幾十個。

而各個依賴又有不同的版本,為了統一維護版本,可以專門將依賴的版本抽取出來統一管理:

項目管理工具maven,使用起來真香

在<properties>標籤中放入各個依賴的版本號。

版本標籤命名格式為依賴名.version。

在對應的依賴<version>中使用${}引入前面定義好的版本即可。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/212956.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-08 17:48
下一篇 2024-12-08 17:48

相關推薦

發表回復

登錄後才能評論