一文帶你完全搞懂 Mavenjava
在剛學maven時,我就把maven看成一個引入jar包的工具而已,之前是本身下載jar包,如今是隻用在pom文件中填寫相應的座標就能夠了。除此以外當咱們須要使用的jar包依賴於另外一個jar包時,maven會自動幫咱們引入適用的版本。這就避免了咱們本身下jar包,而後版本不匹配的問題。除此以外,我還模糊的知道一些maven的聚合和繼承,以後在接手項目的時候仍是吃了的大虧。因而打算從新學習一下maven。程序員
maven是什麼web
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of informationmaven
Maven 的定位工具
多數博客或者視頻都將maven定義爲自動化構建工具。那什麼是自動化構建工具呢?咱們首先來解釋構建:學習
構建各個過程的步驟:測試
平常開發中,如下幾個步驟是咱們常常走的:ui
測試orm
這幾個步驟是程式化的,沒有太大的變數或者說根本就沒有變數。程序員們很但願從這些重複的工做中脫身出來,將這些重複的工做交給工具去作。此時Maven的意義就體現出來了,它能夠自動的從構建過程當中的起點一直執行到終點。視頻
maven 的核心概念
**
POM
POM: a project object model. 項目對象模型。對這個概念老實說,我並無很深的理解,或者說我並不理解項目對象模型的意思。
有資料說項目對象模型就是將 Java 工程的相關信息封裝爲對象便於操做和管理的模型。
這個解釋的稍微讓人那麼容易那麼一點。學習 Maven 就是學習 pom.xml 文件中的配置。
座標
座標這個概念我以爲和依賴結合起來解釋會更好,在沒有Maven以前,咱們引入jar包的方式就是先下載,
而後在複製在類文件路徑下,你的項目須要的jar包,在Maven看來就是你的項目依賴於某些jar包,pom.xml文件中填寫對應jar包的位置,
就能夠引入對應的 jar 包。使用以下三個向量在 Maven 的倉庫中惟一的肯定一個 Maven 工程
**