不學Maven會死?Maven真香!

襪子都是洞發表於2019-02-04

這幾日一直在研究Java爬蟲,經歷了入坑又爬坑的感覺,在知乎找Java爬蟲框架,找到了一款心儀的框架,而且是國人開發,瀏覽了文件說明手冊,感覺挺好上手,支援正則、jQuery、XPATH選擇語法,自己好借鑑以前使用Python Scrapy框架的經驗,一頓內心狂喜之後,開始了正式上手Java爬蟲的計劃,閱讀到這裡,尷尬的事情出現了。

WebMagic手冊

Maven是個啥?學Java的時候怎麼沒有聽說過?算了,搞吧,自己學習能力這麼強應該沒啥大問題,就在慕課網裡找到了課程刷了起來。

慕課網Maven課程

看了一遍,只知道Maven是幹什麼,怎麼用是一點都不懂,在知乎裡又搜了Maven,看到有人說Maven是如何如何的了不起,可是自己絲毫沒有感到,就知道Maven的入門門檻有點高,一般課程看一遍就能明白是個啥以及大致怎麼做了,但是Maven這個課程是前前後後看了好多遍,還要邊看邊做便理解才能慢慢體會到其中的強大!

Maven可以幹什麼?如果接觸過Python,學習了Maven之後發現它真的很像Pip,把別人造的輪子通過很輕鬆的方式就可以為你所用,學習Maven之前,各種Jar包都是獨立存在的,學過Maven之後各種Jar包都能和你產生關係,只需要喊一聲我要使用哪個公司的哪個版本的工具jar包,就可以用了,不用到處找Jar包了,依賴關係也輕鬆解決,jar包的使用可以精確的控制。

如果還沒聽懂,那來一個更簡單的例子,電腦下載軟體需要到各個軟體公司的官網上去下載,沒有統一的“市場”去管理,導致找個軟體可能要費很多波折,蘋果手機的App Store統一了蘋果手機應用的下載和更新,所有蘋果應用都彙總在App Store,所有裡面的應用很全面,每個應用但按照規範定義版本號,通過App Store可以管理應用的更新,我們使用的時候可能渾然不知,但是想想如果沒有這樣的方式,很多簡單的需求處理起來會變得複雜的很多,安卓早期也是如此。

Maven既然這麼強大,就來小窺一下。

按照上面手冊說明的來。在自己的專案(已有專案或者新建一個)中新增以下座標即可:

<dependency>
    <groupId>us.codecraft</groupId>
    <artifactId>webmagic-core</artifactId>
    <version>0.7.3</version>
</dependency>
<dependency>
    <groupId>us.codecraft</groupId>
    <artifactId>webmagic-extension</artifactId>
    <version>0.7.3</version>
</dependency>

剛開始的時候鬼知道這什麼意思哦,其實就是使用Maven定義的方式管理專案依賴。筆者使用的是IDEA整合開發環境,所有很多步驟省略了,要真正掌握Maven還是需要都明白才行,這裡就不知一一講解了。

專案目錄

pom.xml檔案

貼上進去,然後神奇的事情就會發生,哈哈哈,不買關子了,框架相關的依賴Jar包自動給我們新增好了。

依賴關係

看到這麼多數量的依賴,想想沒有Maven的話,一個個去找,得多麻煩,有Maven後只是複製貼上的事情。真的是工欲善其事必先利其器,好工具可以大大提升工作效率。

前前後後因為爬蟲去學了Maven,然後再Maven折騰了至少兩天時間,然後又回頭研究爬蟲,真正在爬蟲上花的時候並不多,基本對著手冊一頓操作操作就可以了。這次也算收貨不小,像是之前折騰git一樣,不會的時候覺得沒有你難道就不行了,會了之後哈哈哈,這不就是典型的真香定律嘛,哈哈哈哈。現在沉迷GitHub,估計又要沉迷會Maven了,大神造的輪子都在上面隨便用呢。

學習這事不能放棄,死磕到底就行了(各位看官放下手中的磚頭,具體情況具體來就好~)。


相關文章