Maven,英語翻譯為專家,猶太語翻譯為知識的積累。不管是專家還是知識的積累,Maven 都對得起這個稱謂。作為一款 java 項目構(gòu)建工具,Maven 確實是這方面的專家。Maven 實際上是一個包管理工具,它會把你需要用到的包進(jìn)行集中下載收集儲存分配,從這個角度看,Maven 確實是對知識進(jìn)行積累(積累使用過的包,常用的包,形成包倉庫)。接下來就讓小編來帶你了解一下 Maven 那神奇的魅力吧。
小編第一次使用 Maven 的時候是在 SSM 框架的學(xué)習(xí)上。當(dāng)時老師要求要裝這個工具,于是小編就對這個軟件進(jìn)行了一定的了解,發(fā)現(xiàn) Maven 是一個特別好用的工具。當(dāng)時不學(xué)無術(shù)的小編喜歡找同學(xué)要代碼來進(jìn)行參考,但每次運行都運行不起來。后來問了同學(xué)才知道,他們的代碼有用到一些第三方的包,在使用的時候要進(jìn)行第三方包的下載和導(dǎo)包(沒錯,當(dāng)時卡住小編的是一個叫 jstl 的包,學(xué)習(xí) web 編程的小伙伴們先留個心眼)。這些第三方包的下載本身就有一定困難(版本問題,還有眾所周知的原因不能到外網(wǎng)進(jìn)行包的尋找),導(dǎo)包也要進(jìn)行一定的操作。這些困難,在我接觸到 Maven 后,解決了。
關(guān)于上面小編遇到的第一個問題,那就是第三方包的下載。Maven 使用一個本地倉庫進(jìn)行包的存儲,如果本地倉庫沒有相應(yīng)的包,Maven 就會到線上的倉庫下載相應(yīng)的包,然后以后需要使用相應(yīng)的包就可以到本地的倉庫進(jìn)行獲取了,相當(dāng)方便。
小編遇到的第二個問題,在 Maven 看來就不是問題。Maven 使用一個名叫 ?pom.xml
? 的文件對整個 Maven 項目進(jìn)行依賴管理。導(dǎo)包這個過程其實就是創(chuàng)建依賴,而 Maven 只需要把相應(yīng)的依賴寫進(jìn) ?pom.xml
? 里,它就會自動幫你創(chuàng)建依賴,導(dǎo)入第三方包。使用起來相當(dāng)方便。
如果到這里你還不明白他到底強(qiáng)在哪里,那我就給你解釋一下。假如你的同事提供給你一個項目,如果不使用 Maven,你就需要自己去下載包和導(dǎo)包(而且還要確定和同事使用的相同的版本)。如果你使用了 Maven,你什么也不需要干,因為項目中帶的 ?pom.xml
? 會幫你把依賴都建立起來。再舉一個例子,如果你們的項目剛開始開發(fā),已經(jīng)把安裝包定下來了,你們需要把你們的安裝包分配給每個人。而如果用了 Maven,只需要給他們一個 ?pom.xml
? 就可以了。
在 Maven 解決了小編的兩個問題后,我已經(jīng)覺得它非常好用了。直到有一天,我發(fā)現(xiàn) Maven 還有一個很重要的功能:創(chuàng)建項目,使用 Maven 可以根據(jù)其的內(nèi)置模版創(chuàng)建很多不同類型的 java 項目,而且項目結(jié)構(gòu)等都配置完畢,懶狗直接狂喜!
最后,Maven 作為一款優(yōu)秀的項目管理工具,他的影響是巨大的。比如另一款項目管理工具 gradle,就是在 Maven 的基礎(chǔ)上進(jìn)行設(shè)計的。很多的 IDE 內(nèi)部也整合了 Maven 工具,比如 IDEA,eclipse,VSCode 的 java 開發(fā)插件包里也包含了 Maven 插件,這么好用的項目管理工具,你確定不來一個?
另附Maven學(xué)習(xí)教程,心動的讀者趕快去學(xué)吧。