1. 程式人生 > >Maven -01- 簡介+視訊+教程+學習路線

Maven -01- 簡介+視訊+教程+學習路線

Maven -01- 簡介+視訊+教程+學習路線

Maven 簡介:

  • Maven 是 Apache 下的一個純 Java 開發的開源專案。基於專案物件模型(縮寫:POM)概念,Maven 利用一箇中央資訊片斷能管理一個專案的構建、報告和文件等步驟。

  • Maven 是一個專案管理工具,可以對 Java 專案進行構建、依賴管理。

  • Maven 也可被用於構建和管理各種專案,例如 C#,Ruby,Scala 和其他語言編寫的專案。Maven 曾是 Jakarta 專案的子專案,現為由 Apache 軟體基金會主持的獨立 Apache 專案。

  • 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 的一個基本功能,它還有許多各種各樣的功能便於管理專案,比如 管理多模組協同開發

,內建 web server 快速開發測試,連線控制遠端伺服器,自動上傳部署專案,一鍵切換伺服器環境等等

可以不使用 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 頁面的連結,您可以點選連結檢視錯誤的完整描述。


博主也會不斷更新學習筆記

更多文章連結