Maven 學習(1)

来源:https://www.cnblogs.com/minibruin/archive/2018/04/30/8974160.html
-Advertisement-
Play Games

Maven是什麼,以及為什麼要使用Maven?Maven這個詞可以翻譯為“知識的積累”,也可以翻譯為“專 家”或“內行”。(構建 = 編寫源代碼+編譯源代碼+單元測試+生成文檔+打包War+部署)Maven主要服務於基於Java平臺的項目構建、依賴管理和項目信息管理。Maven適用於傳統的瀑布式開發 ...


Maven是什麼,以及為什麼要使用Maven?
Maven這個詞可以翻譯為“知識的積累”,也可以翻譯為“專 家”或“內行”。
(構建 = 編寫源代碼+編譯源代碼+單元測試+生成文檔+打包War+部署)
Maven主要服務於基於Java平臺的項目構建、依賴管理和項目信息管理。
Maven適用於傳統的瀑布式開發(瀑布模型開發中,項目依次要經歷需求開發、分析、設計、編碼、測試和集成發佈階段。)、流行的敏捷模式開發、小型的開源類庫項目、大型的企業級應用
Maven的用途之一是服務於構建,它是一個異常強大的構建工具,能 夠幫我們自動化構建過程,從清理、編譯、測試到生成報告,再到打包和部署。
Maven的優點:
Maven是跨平臺的,這意味著無論是在Windows上,還是在Linux或者Mac上,都可以使用同樣的命令。
Maven最大化地消除了構建的重覆,抽象了構建生命周期,並且為絕大部分的構建任務提供了已實現的插件,我們不再需要定義過程,甚至 不需要再去實現這些過程中的一些任務。最簡單的例子是測試,我們沒必要告訴Maven去測試,更不需要告訴Maven如何運行測試,只需要遵循Maven 的約定編寫好測試用例,當我們運行構建的時候,這些測試便會自動運行。
Maven能幫助我們標準化構建過程,快速地發佈項目。

(概括):

Maven不僅是一個優秀的、流行的構建工具,還是一個依賴管理工具和項目信息管理工具;它提供了中央倉庫,能幫我們自動下載構件,能幫我們自動化構建,還能夠抽象構建過程,提供構建任務實現,它跨平臺,對外提供了一致的操作介面;

Maven對於項目目錄結構、測試用 例命名方式等內容都有既定的規則,只要遵循了這些成熟的規則,用戶在項目間切換的時候就免去了額外的學習成本,可以說是約定優於配置 (Convention Over Configuration);

Maven能幫助我們管理原本分散在項目中各個角落的項目信息,包括項目描 述、開發者列表、版本控制系統地址、許可證、缺陷管理系統地址等。這些微小的變化看起來很瑣碎,並不起眼,但卻在不知不覺中為我們節省了大量尋找信息的時 間。除了直接的項目信息,通過Maven自動生成的站點,以及一些已有的插件,我們還能夠輕鬆獲得項目文檔、測試報告、靜態分析報告、源碼版本日誌報告等 非常具有價值的項目信息;

Maven還為全世界的Java開發者提供了一個免費的中央倉庫,在其中幾乎可以找到任何的流行開源類庫。通過一些Maven的衍生工具(如Nexus),我們還能對其進行快速地搜索。只要定位了坐標,Maven就能夠幫我們自動下載,省去了手工勞動。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一 寫在開頭 1.1 本文內容 C語言是一門古老而又高深莫測的編程語言,她身上總是閃爍著各種“巨坑”(對於我這種沒參透的菜鳥而言)。實踐出真知,親們在看C語言的資料時可千萬別想當然啊。 二 開始裝13 這是某本關於C語言指針的書中的一個小部分,具體書名不說了,內容如下圖所示。 我於是寫了一段代碼進行 ...
  • 網上關於PyQt5的教程很少,特別是界面跳轉這一塊兒,自己研究了半天,下來和大家分享一下 一、首先是主界面 二、跳轉界面Demo1 三、跳轉界面Demo2 ...
  • [TOC] Introducing Python Object Types 對象類型的優勢 1. Built in objects make programs easy to write 2. Built in objects are components of extensions 3. Buil ...
  • 三大框架整合的思路 1、Dao層: Mybatis的配置文件:SqlMapConfig.xml 不需要配置任何內容,需要有文件頭。文件必須存在。 applicationContext-dao.xml: mybatis整合spring,通過由spring創建資料庫連接池,spring管理SqlSess ...
  • 任何類型的實例作為消息在兩端獨立系統的機器之間進行傳遞時必須經過序列化/反序列化serialize/deserialize處理過程。假設以下場景:在一個網路里有兩台連接的伺服器,它們分別部署了獨立的akka系統。如果我們需要在這兩台伺服器的akka系統之間進行消息交換的話,所有消息都必須經過序列化/ ...
  • #String的內置方法 st='hello world' ★1、print(st.count('l')) #統計元素在字元串的個數 #==> 3 2、print(st.capitalize()) #首字母大寫 #==> Hello world ★3、print(st.center(50,'-')) ...
  • 1.1 運算符 邏輯/位運算符:not and or 關係運算符:like is 1.2 數據類型 字元串 string $ 位元組 byte 布爾 boolean 整數 integer % 長整數 long & 單精度 single ! 雙精度 double # 日期 date 貨幣 currenc ...
  • 本系列主要解決的問題:針對一個功能龐大的企業應用 + 應用面對不同區域的眾多客戶,如何做好應用的多版本管理、各區域線上模塊的快速更新及系統的穩定性保障,可以採取對應用進行核心模塊按模塊化方式進行管理。 產生背景: 2017年接手一個已經維護了7年多的老項目,項目經歷了幾波人的維護,混雜了各種開發技術 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...