天天看點

maven一波流(1)——為何用maven

maven誕生

在不用maven時,每次開發一個項目,都要找各種各樣的jar包,比如jdbc的包、spring的包、資料庫連接配接池的包、操作json的包,等等等等。

而且這些包的版本還不好确定,你像spring有很多版本,找包的時候版本得一緻。

還有,如果是從網上下載下傳的包,安不安全啊,會不會是有惡意的人編譯過的有問題的jar包,這不得不說是一個安全隐患。

如果一個公司所有程式員都要自己找包,太浪費時間和精力了,那不如讓架構師一個人去找。

如果每個公司的架構師都要自己找包,也太浪費時間和精力了,不如搞個倉庫放在網上,所有程式員和架構師一起下載下傳。

每次都需要下載下傳也太麻煩了,那不如直接搞個配置檔案放到項目裡,配置檔案上寫啥jar包,項目就自動內建。

OK,就這樣,maven按照程式員的需求,誕生了。

##maven有啥

首先,maven會有一個網上倉庫,這個倉庫有全世界的包,這個倉庫就叫中央倉庫。

第二,這個倉庫不是在中國,是以國内程式員下載下傳的慢,為了解決這個問題,咱們國内也有自己的中央倉庫。比如阿裡雲上的maven中央倉庫。

第三,如果有3個項目都依賴幾個相同的jar包,總不能每次都需要單獨下載下傳,是以maven體系裡面有個本地倉庫,jar包先儲存在本地,反正有配置檔案來描述每個jar包,本地倉庫裡面有的可以不用從中央倉庫下載下傳。當然如果覺得項目有問題,也可以把本地的倉庫删了重新下載下傳就是了。

第四,maven得有個配置檔案,這個配置檔案包含了項目中需要jar包的定義,具體這個配置檔案怎麼定義,這是maven開發者的事情,咱們隻要記住格式就行。

第五,maven還得有個程式,因為之前編譯的時候項目裡面是有jar報的,程式可以自動連接配接jar包編譯。現在項目裡面沒有jar包了,隻有一個配置檔案,是以得有個maven程式負責直接通過配置檔案找本地庫jar包編譯。

第六,maven可能還有插件,比如你用eclipse的,就想直接在eclipse中利用maven構造項目,并完成項目的建構,此時可以直接利用插件完成調用maven的工作,不用直接面對maven。當然maven還是得安裝上,否則調也沒法調。

maven何時用

經過上面這一大段描述,maven何時用也應該很清楚了。

如果項目很小,就引用幾個jar包,或者是個人的小項目,那其實沒必要用maven。你去鄰居小賣鋪買個水還用的着開汽車?

如果項目不小,多人寫作,jar包繁多,建議直接上maven,大家統一配置檔案,相當于一個規範。而且maven還有别的好處,這個後續再說。