作用一:
個人理解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包就實現了共享如圖所示: