1. 程式人生 > >Maven的Why and What(maven1)

Maven的Why and What(maven1)

                                       Maven的Why  and  What

一、Why-------為什麼會需要maven

①一個專案既是一個工程

        如果一個專案非常龐大,就不適合繼續用package來劃分模組功能,最好是每個模組對應一個工程,便於分工協作

        藉助maven能夠將一個專案拆分為過個工程專案 

②專案中的jar包必須手動“複製”,“貼上”到WEB-INFO/lib

        帶來問題:同樣 的jar包重複出現在不同的專案工程中,一方面浪費儲存空間,比較臃腫

        藉助Maven,可以將jar包僅僅儲存在“倉庫"中,有需要,使用工程“引用”這個檔案介面,並不要真的把jar包賦值過來

③jar包需要自己下載準備好

        不同技術的官網提供jar包的下載的形式是不同的

        有些技術的官網就是通過Maven或是SVN等專門的工具來提供下載的

        如果以不規範的方式下載jar包,那麼其中的內容也是不規範的。

        藉助Maven我們可以以一種能規範的方式下載jar包,因為所有知名的第三方框架或第三方工具的jar包以及按照統一的規範存放在Maven的中央倉庫,內容很可靠

④一個jar包還需依賴要其他jar包,手動加入到專案中

        檔案上傳:用到FileUpload元件---IO元件。commons-fileupload.jar依賴commons.jar包

        如果所有jar包之間的依賴關係都要去了解,工作量是非常大的,增加學習成本

二、What-----Maven是什麼

①Maven是一款服務於Java平臺的自動化構建工具。

    Make->Ant->Maven ->Gradle

②構建:

    【1】概念:以“Java原始檔”“框架配置檔案”“JSP”“HTML” “圖片”等資源為“原材料”去“生產”一個可以執行專案的過程。

  •  編譯

  • 部署

  • 搭建

   【2】編譯:.Java檔案->編譯->.class檔案->JVM去執行

   【3】部署:一個BS專案最終執行並不是動態Web工程的本身,而是這個動態Web工程“編譯結果”

            生食物->處理->熟食物-----最後才能吃

            動態Web工程->編譯,部署->編譯結果-----最後才能在伺服器執行

綜上所述:構建就是以我們寫的Java程式碼,框架配置檔案,國際化等其他資原始檔,jsp頁面和靜態資源作為“原材料”,去“生產出”一個可以執行的專案過程。

Tips:執行時環境

其實是一組jar包的引用,並沒有把jar包本身複製到工程中,所以並不是目錄

工程目錄src----最終編譯為class-----類路徑

開發過程中所有路徑的 不能以工程目錄為標準,是以編譯結果為標準!!!,工程只是一個開發環境

③構建過程中的各個環節-----eclipse和myeclipse將構建過程的環節執行的差不多了,所以我們對構建沒有太大的感覺

        【1】清理 :將以前編譯舊的class位元組碼檔案刪除,為下次編譯做準備

        【2】編譯 :將Java檔案編譯成class位元組碼檔案

        【3】測試 :自動的測試--將junit程式準備好,maven會自動呼叫juint程式自動測試。 

        【4】報告  :測試程式執行的結果

        【5】打包 :動態web打成war包,Java工程打成jar包

        【6】安裝  :maven一個特定的概念-----將打包得到的檔案複製到“倉庫”的制定位置

        【7】部署 :將動態web工程生成的war包複製到servlet容器指定的目錄下,使其可以執行

④自動化構建

以上通過觀看穀粒學院學習視訊所記錄的筆記

穀粒學院學習官網:http://www.gulixueyuan.com