maven的作用及優勢
作用一:
個人理解maven主要是用來解決匯入java類依賴的jar,編譯java專案主要問題。(最早手動匯入jar,使用Ant之類的編譯java專案)
以pom.xml檔案中dependency屬性管理依賴的jar包,而jar包包含class檔案和一些必要的資原始檔。
當然它可以構建專案,管理依賴,生成一些簡單的單元測試報告,像現在公司的持續整合都廣泛的使用maven,當你接觸一些專案以後你就會有更深的體會。
作用二:
比如之前專案匯入jar。是通過copy方式匯入專案中,而且還會存在jar之間的依賴和衝突。而maven解決了這些問題,只是網速不好的時候有點麻煩。只需要下載-bin.zip就可以了。
作用三:
jar 包管理,防止jar之間依賴起衝突 。小組之間建立個私服務,大家都用通用 的maven配置檔案,不用自己手動去下載jar ,pom檔案會自動管理下載好的jar包。
作用四:
Maven是基於專案物件模型,可以通過一小段描述資訊來管理專案的構建,報告和文件的軟體專案管理工具。Maven能夠很方便的幫你管理專案報告,生成站點,管理jar檔案,等等。例如:專案開發中第三方jar引用的問題,開發過程中合作成員引用的jar版本可能不同,還有可能重複引用相同jar的不同版本,使用maven關聯jar就可以配置引用jar的版本,避免衝突。
這麼多用處,他的優勢在哪裡下面就聊聊它的優勢
Maven 優勢一:相同的專案結構
使用Maven管理的Java 專案都有著相同的專案結構
1. 有一個pom.xml 用於維護當前專案都用了那些jar包
2. 所有的java程式碼都放在 src/main/java
3. 所有的測試程式碼都放在src/test/java
Maven 優勢二:統一維護jar包
比如說有3個Java 專案,這些專案都不是maven風格。那麼這3個專案,就會各自維護一套jar包。 而其中有些jar包是相同的。
而maven風格的專案,首先把所有的jar包都放在"maven倉庫“ 裡,然後哪個專案需要用到這個jar包,只需要給出jar包的名稱和版本號就行了。 這樣jar包就實現了共享如圖所示: