Maven入門【小白千萬別點進】
曾經有個女孩問我為什麼要學Maven,我吧唧嘴就懟:Maven專案沒有jar包它不香嘛,照樣執行它不香嘛?如果讓我一句話形容Maven,我會這樣形容:“媽媽再也不用擔心小明拿U盤去小紅電腦裡烤jar包了”,女孩聽了瞬間淚崩了:”我其實也是一箇中央倉庫,以後缺jar包直接來找我,用不著小紅”,我頓時有點受寵若驚~小鹿亂撞~。
進入正題,其實進行框架開發的時候難免會遇到一個叫Maven的鬼東西,重點強調一下這個讀“ 妹文 ”,而不是什麼“ 馬文 ”或者什麼“ 媽瘟”什麼瘟的,讀的跟鬧瘟疫似的。我覺得會讀了之後,你基本上就掌握了Maven一半了,不要覺得誇張,因為Maven真的很好學(會讀掌握一半還是有點誇張),總得比一些學加用好幾個月還天天讀“ 媽瘟”的強多了。好了不扯犢子了,直接上乾貨!
什麼是 Maven
一個老哥對 Maven 比較正式的定義是這麼說的:Maven 是一個專案管理工具,它包含了一個專案物件模型,一組標準集合,一個專案生命週期,一個依賴管理系統,和用來執行定義在生命週期階段中外掛目標的邏輯。 我聽了當時就笑了,maven不就一個管理jar包直接上座標就能自動下載對應jar包的工具嘛,什麼羅裡吧嗦的定義嘛,裝什麼裝(氣勢這一方面,我沒服過誰),不過,這老哥總結的還真不錯,立竿見影,文表齊全,真香!(秒慫~捂臉~)
Maven 能解決什麼問題
這麼說吧,我講幾個更通俗的方式來說明,哥幾個感受一下:
專案開發不僅僅是寫寫程式碼而已,期間會伴隨著各種必不可少的事情要做,這個時候,問題就來了
1、我們需要引用各種 jar 包,尤其是比較大的工程,引用的 jar 包往往有幾十個乃至上百個, 每用到一種 jar 包,都需要手動引入工程目錄,而且經常遇到各種讓人抓狂的 jar 包衝突,版本衝突。
2、我們辛辛苦苦寫好了 Java 檔案,可是隻懂 0 和 1 的白痴電腦卻完全讀不懂,需要將它編譯成二進位制位元組碼。好歹現在這項工作可以由各種整合開發工具幫我們完成,Eclipse、IDEA 等都可以將程式碼即時編譯。當然,如果你嫌生命漫長,何不鋪張,也可以用記事本來敲程式碼,然後用 javac 命令一個個地去編譯,逗電腦玩。
3、世界上沒有不存在 bug 的程式碼,計算機喜歡 bug 就和人們總是喜歡美女帥哥一樣。為了追求美為了減少 bug,因此寫完了程式碼,我們還要寫一些單元測試,然後一個個的執行來檢驗程式碼質量。
4、再優雅的程式碼也是要出來賣的。我們後面還需要把程式碼與各種配置檔案、資源整合到一起,定型打包,如果是 web 專案,還需要將之釋出到伺服器,供人蹂躪。試想,如果現在有一種工具,可以把你從上面的繁瑣工作中解放出來,能幫你構建工程,管理 jar包,編譯程式碼,還能幫你自動執行單元測試,打包,生成報表,甚至能幫你部署專案,生成 Web 站點,你會心動嗎?
好了,說的不多,但實際上Maven 就可以解決上面所提到的這些問題。
Maven專案沒有jar包它不香嘛,照樣執行它不香嘛?
首先,我證明一下Maven專案中確實沒有具體jar包
經過我嚴密整段並運用大量高數分析並花了半個小時,推斷它裡面一定沒有 jar 包!不然它怎麼可能這麼小,才100來Kb,佩奇都能看出來~
學maven必須要知道的
Maven 的一個核心特性就是依賴管理,而依賴管理明瞭的說就是一個管理jar包的過程,既然maven專案不需要具體的jar包,那是怎麼可以執行的呢?其實簡單來說,一個Maven專案關於jar包主要看pom.xml
檔案,然後通過座標去倉庫找到對應jar包,專業名詞聽著是不是很不得勁,哈哈
座標 = 公司名/組織名 + 專案名 + 版本號 ,要找某個jar包必須確定座標
倉庫: 分為本地倉庫和遠端倉庫\中央倉庫
本地倉庫:具體自己電腦下載jar包的地方
中央倉庫:聯網去網上找jar包的地方
私服: 公司自己的倉庫(瞭解有這麼個東西就行)
看圖理解可能會更得勁
maven根據座標具體找jar包的流程如下:
如何去中央倉庫找jar包座標並化為本地倉庫jar包?
其實很簡單,在中央倉庫的字典裡只要知道要找什麼jar包,就能得到什麼jar包,具體操作如下:
具體以找spring aop jar包為例子:
是不是也很簡單?get到了嘛~
maven的生命週期和命令
我覺得,到現在我用了這麼久maven都沒怎麼去使用它的生命週期,所以我覺得也沒必要寫長篇大論,瞭解即可(如果你想精通maven,如果你有這個時間和精力也可去找這方面資料深入)
到這裡,基本上常用的東西已經講完了,而且我講的都是重點,maven的重點很少,是不是很簡單,當然我講的也簡單。學習其實就是一個化繁為簡的過程!
maven的下載安裝
下載:
方法一:maven官網:http://maven.apache.org/
方法二:直接百度maven (推薦!!!不要問我為什麼,我就喜歡醬紫,簡單粗暴,不搞那些花裡胡哨的)
至於安裝,解壓就相當於安裝了,一解壓就完事了,我感覺maven開發者就是天才,就是像我這樣的鄉下人,喜歡簡單粗暴,不搞那些花裡胡哨的!
Maven 及 JDK 配置(瞭解)
至於我為啥寫了解,是因為看到配置,是不是很煩?覺得煩的哥幾個,咋們是親兄弟啊,我還記得那天下午我特麼配了一下午,才配好(而且我流程沒問題,還冒出一個特別奇葩的問題,提起就傷心,不提了),後來發現配置好了到現在都沒用上,沒什麼用。。。我建議如果只是單純的做專案就不搞這花裡胡哨的配置了,真的到現在我都沒去用那個配置(主要完一些命令的),不配是可以的,只是一點要記住:JDK版本是1.7以上。如果你非執著要了解怎麼配置,那我就告訴你,其實跟配java環境變數差不多,也是java_HOME類似操作(可以不配製,沒毛病),當然你可以說我庸俗,但你絕對不知道“庸俗”也是俺們鄉下人的勳章,啊,情懷懂不懂~
配置本地倉庫位置
當然,這個其實也可以不配製,因為idea會預設給你放到C盤,但是像我這樣優秀的人,~家貧,C盤空間小~肯定會去配置一下咯,把本地倉庫放到D盤或者F盤(各位別任性,還是配置一下吧,萬一你係統那一天炸了吶,jar包可就全沒了鴨)~
配置流程:首先開啟maven解壓好的資料夾----conf----setting.xml開啟加上需要配置位置如下:
使用IntelliJ IDEA建立第一個Mawen專案
沒使用IDEA搭建過的哥幾個可以瞭解一下,我在這篇之前寫的使用IntelliJ IDEA建立第一個Mawen專案
實戰ssm搭建使用Maven
我在這篇文章中使用idea搭建過ssm框架基於mawen,具體的使用過maven,哥幾個可以瞭解一下如何條理清晰思路使用IDEA整合ssm框架(詳細思路+附帶原始碼)
到這裡,媽瘟的基本操作就呸呸呸,咳咳妹文的基本操作就OK了,maven基礎就算是完美入門了,我講的都是maven的核心常規操作只為讓一些初學者快速入門,當然這還不夠,因為還要學習maven的多模組開發,其實也很簡單,今天就先到這裡了,揮揮爪~
如果本文對你有一點點幫助,那麼請點個讚唄,謝謝~
最後,若有不足或者不正之處,歡迎指正批評,感激不盡!如果有疑問歡迎留言,絕對第一時間回覆!
歡迎各位關注我的公眾號,一起探討技術,嚮往技術,追求技術,說好了來了就是盆友喔...