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