Maven -01- 簡介+視訊+教程+學習路線
Maven -01- 簡介+視訊+教程+學習路線
Maven 簡介:
-
Maven 是 Apache 下的一個純 Java 開發的開源專案。基於專案物件模型(縮寫:POM)概念,Maven 利用一箇中央資訊片斷能管理一個專案的構建、報告和文件等步驟。
-
Maven 是一個專案管理工具,可以對 Java 專案進行構建、依賴管理。
-
Maven 也可被用於構建和管理各種專案,例如 C#,Ruby,Scala 和其他語言編寫的專案。Maven 曾是 Jakarta 專案的子專案,現為由 Apache 軟體基金會主持的獨立 Apache 專案。
-
Maven
如果你喜歡看視訊教程
- 網盤地址:https://pan.baidu.com/s/19MyNoilPv1VeyjJZhoIdJg
- 密碼:nz5d
如果你喜歡文件類教程:
- 這裡推薦【菜鳥教程 - Maven】
- 也可以關注博主,不斷更新筆記
是否有必要使用 Maven:
本段參考:原文連結
(1)假設我們有十個專案,都需要引入 spring core 模組,那麼需要十份重複的 Spring core.jar 和 commons-logging.jar
Maven 使用本地倉庫儲存 jar,所有專案都會共用倉庫中的同一份 jar
(2)Spring core.jar 必須同時引入版本相容的commons-logging.jar,否則會報錯。
Maven 不需要關心這些問題,會自動引入 Spring core.jar 所需的相容版本 jar
(3)如果一個專案裡面有100個 jar,你不知道哪些 jar 是彼此關聯的,哪些是互相排斥的,當需要升級版本,增加或刪除一些jar,很容易出各種問題
Maven 升級 jar,只需要把版本號3.x改成4.x,它會自動解決那些問題
管理 jar 只是 maven 的一個基本功能,它還有許多各種各樣的功能便於管理專案,比如 管理多模組協同開發
可以不使用 Maven 的場景:
如果你不願意花時間學習 Maven,而且只想停留在初中級 java 水平,平時只用一些 spring 之類的大眾技術,那麼 maven 所有的功能都不是必需的,只要你不怕麻煩,你都可以用別的方法替代。
必須使用 Maven 的場景:
如果你是一個技術上有更高目標的人,那麼就必須要會 Maven。因為當你達到一定水平,面對一些技術難度較高的需求 而無所適從時,你會發現在 github 上有大量的成熟解決方案專門針對你所遇到的各種疑難雜症,而且這些技術有不少都是在淘寶,京東等大型網站線上廣泛使用的,這些網站的工程師同時也會到 github 上釋出他們的開源技術。而 github 上的這些專案通常有一個共同的特點,都是 maven 專案,如果你不會 maven,即使你下了這些技術,你也不知道怎麼用
依賴管理:
Maven 特點:
拷貝自:菜鳥教程 - Maven
-
專案設定遵循統一的規則。
-
任意工程中共享。
-
依賴管理包括自動更新。
-
一個龐大且不斷增長的庫。
-
可擴充套件,能夠輕鬆編寫 Java 或指令碼語言的外掛。
-
只需很少或不需要額外配置即可即時訪問新功能。
-
基於模型的構建 − Maven 能夠將任意數量的專案構建到預定義的輸出型別中,如 JAR,WAR 或基於專案元資料的分發,而不需要在大多數情況下執行任何指令碼。
-
專案資訊的一致性站點 − 使用與構建過程相同的元資料,Maven 能夠生成一個網站或PDF,包括您要新增的任何文件,並新增到關於專案開發狀態的標準報告中。
-
釋出管理和釋出單獨的輸出 − Maven 將不需要額外的配置,就可以與原始碼管理系統(如 Subversion 或 Git)整合,並可以基於某個標籤管理專案的釋出。它也可以將其釋出到分發位置供其他專案使用。Maven 能夠釋出單獨的輸出,如 JAR,包含其他依賴和文件的歸檔,或者作為原始碼釋出。
-
向後相容性 − 您可以很輕鬆的從舊版本 Maven 的多個模組移植到 Maven 3 中。
-
子專案使用父專案依賴時,正常情況子專案應該繼承父專案依賴,無需使用版本號,
-
並行構建 − 編譯的速度能普遍提高20 - 50 %。
-
更好的錯誤報告 − Maven 改進了錯誤報告,它為您提供了 Maven wiki 頁面的連結,您可以點選連結檢視錯誤的完整描述。
博主也會不斷更新學習筆記