Maven(四)常用命令大全

目錄

    • 一、mvn 命令參數
    • 二、mvn 插件命令
      • 1.介紹
      • 2.查看插件的使用文檔
      • 3.常用的插件命令

  • 官網地址: https://maven.apache.org/
  • 官方插件清單: https://maven.apache.org/plugins/index.html

Maven 是一個強大的構建工具,它提供了許多命令來進行項目構建、依賴管理和測試等操作。本文主要介紹一些常用的 Maven 命令。

在介紹 Maven 命令之前,需要從認知上理解 Maven 命令的構成。

Maven 命令主要分為兩種:

  • mvn 命令參數:這里涵蓋了 mvn 后所有以 - 開頭的參數。
  • mvn 插件命令:其實我們平時使用最多的 clean、package、install 等命令都是 Maven 官方提供的插件,除此之外我們還可以字節編寫插件進行擴展。

一、mvn 命令參數

mvn -v, --version 顯示版本信息。

mvn -V, --show-version 顯示版本信息后繼續執行 Maven 其他目標。

mvn -h, --help 顯示幫助信息。

mvn -e, --errors 控制 Maven 的日志級別,顯示執行錯誤相關的消息。

mvn -X, --debug 控制 Maven 的日志級別,顯示執行調試信息。

mvn -q, --quiet 控制 Maven 的日志級別,僅顯示錯誤信息。

mvn -Pxxx 激活 id 為 xxx 的 profile(如有多個,用逗號隔開)。

mvn -Dxxx=yyy 指定 java 的全局屬性。

mvn -o, --offline 運行 offline 模式,不聯網更新依賴。

mvn -N, --non-recursive 盡在當前項目模塊執行命令,不構建子模塊。

mvn -pl, --module_name 在指定模塊上執行命令。

mvn -ff, --fail-fast 遇到構建失敗就直接退出。

mvn -fn, --fail-never 無論項目結果如何,構建從不失敗。

mvn -fae, --fail-at-end 僅影響構建結果,允許不受影響的構建繼續。

mvn -C, --strict-checksums 如果校驗碼不匹配的話,構建失敗。

mvn -c, --lax-checksums 如果校驗碼不匹配的話,產生告警。

mvn -U 強制更新 SNAPSHOT 類型的插件或依賴庫(否則 Maven 一天只會更新一次 SNAPSHOT 依賴)。

mvn -npu, --no-plugin-updates 對任何相關的注冊插件,不進行最新檢查(使用該選項使 Maven 表現出穩定的行為,該穩定行為基于本地倉庫當前可用的所有插件版本)。

mvn -cpu, --check-plugin-updates 對任何相關的注冊插件,強制進行最新檢查(即使項目 POM 里明確規定了 Maven 插件版本,還是會強制更新)。

mvn -up, --update-plugins 與 mvn -cpu 作用相同。

mvn -B, --batch-mode 在非交互(批處理)模式下運行(該模式下,當 Maven 需要輸入時,它不會停下來接收用戶的輸入,而是使用合理的默認值)。

mvn -f, --file <file> 強制使用備用的 POM 文件。

mvn -s, --settings <arg> 用戶配置文件的備用路徑。

mvn -gs, --global-settings <file> 全局配置文件的備用路徑。

mvn -emp, --encrypt-master-password <password> 加密主安全密碼,存儲到 Maven 的 settings 文件里。

mvn -ep, --encrypt-password <password> 加密服務器密碼,存儲到 Maven 的 settings 文件里。

mvn -npr, --no-plugin-registry 對插件版本不適用 ~/.m2/plugin-registry.xml(插件注冊表)里的配置。


二、mvn 插件命令

1.介紹

其實我們平時使用最多的 cleanpackageinstall 等命令都是 Maven 官方提供的插件,除此之外我們還可以字節編寫插件進行擴展。

官方插件清單: https://maven.apache.org/plugins/index.html

這里我們主要講解一下如何查看插件的官方文檔,以及常用的插件命令。

2.查看插件的使用文檔

Maven 的官方插件主要分為四類:

  • 核心插件:包括 clean、compiler、deploy、install 等。
  • 打包插件:包括 jar、war、ejb、source 等。
  • 報告插件:包括 javadoc 等。
  • 工具插件:包括 antrun、archetype、dependency、help 等。

查看 Maven 插件的官方文檔,這里我們主要用到了工具插件中的 help 插件。

用法:

mvn help:describe -Dplugin=插件名

例如:我想查看 dependency 命令的使用文檔:

mvn 命令:

mvn help:describe -Dplugin=dependency

執行結果:

在這里插入圖片描述

補充: 如果之前沒有使用過 help 插件,第一次執行會先進行 Download,時間,后面就會直接執行了。

3.常用的插件命令

mvn clean:清理項目目錄,刪除 target 目錄和生成的構建文件。

mvn compile:編譯源代碼,并將編譯后的類文件存儲在 target 目錄中。

mvn test-compile:編譯測試代碼。

mvn test:運行項目的單元測試。

mvn site:產生 site。

mvn package:打包項目,并將生成的構建文件(例如:JAR、WAR)存儲在 target 目錄中。

mvn install:安裝項目到本地 Maven 倉庫,以供其他項目使用。

mvn deploy:將項目部署到遠程倉庫,例如 Maven 私服。

mvn clean install:清理項目目錄并執行安裝操作。

mvn clean package:清理項目目錄并執行打包操作。

mvn dependency:tree:顯示項目的依賴樹。

mvn dependency:resolve:解析項目的依賴關系,并下載缺失的依賴項。

mvn archetype:create

  • mvn archetype:create -DgroupId=packageName -DartifactId=projectName:使用 Maven 的 archetype 插件,創建一個 Maven 的普通 java 項目。

  • mvn archetype:create -DgroupId=packageName -DartifactId=projectName -DarchetypeArtifactId=maven-archetype-webapp:使用 Maven 的 archetype 插件,創建一個 Maven 的 Web 項目。

mvn archetype:generate:使用 Maven 的 archetype 插件,創建一個新的 Maven 項目結構。

mvn eclipse:eclipse:使用 Maven 的 eclipse 插件,生成 eclipse 項目。

mvn idea:idea:使用 Maven 的 idea 插件,生成 idea 項目。

mvn jar:jar:只打 jar 包。

mvn test -skipping compile -skipping test-compile:跳過源代碼的編譯和測試代碼的編譯,運行項目的單元測試。

mvn eclipse:clean:清除 eclipse 的一些系統設置。

mvn help:help:使用 Maven 的 help 插件,顯示 Maven 幫助信息。

以上這些命令是 Maven 中最常用的一些命令,可以根據項目需求和具體情況來選擇使用。同時,Maven 還提供了許多其他命令和插件,可以根據具體需求進行查閱和使用。你可以通過運行 mvn --help 來獲取所有可用的 Maven 命令,去官網插件清單查看所有可用插件。

整理完畢,完結撒花~ 🌻





參考地址:

1.maven常用命令大全(附詳細解釋),https://blog.csdn.net/good_good_xiu/article/details/116740333

2.maven常用命令集合(收藏大全),https://zhuanlan.zhihu.com/p/355889432

3.Maven查看插件信息,https://blog.csdn.net/bugzeroman/article/details/120739886

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40058.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40058.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40058.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Python統計字符內容的占比

說明&#xff1a;如果有自己動手做過字符動畫&#xff0c;會知道字符動畫的“靈動性”核心在于使用的字符集。 簡單來說&#xff0c;動畫轉為字符動畫&#xff0c;原理是將動畫轉為灰階圖&#xff0c;灰度范圍是0~255&#xff0c;然后將對應灰度的像素點轉為對應比值的字符。這…

linux github 倉庫管理常用操作

linux 的常用操作 linux 本地 ssh驗證連接github賬號本地倉庫連接遠程私有倉庫push/pull操作 Connecting to Github with ssh git local configuration If you are using git for the first time, configure the user name and email in the device. git config --global u…

R語言ggplot2 | R語言繪制物種組成面積圖(三)

&#x1f4cb;文章目錄 面積圖簡介準備數據集加載數據集數據處理數據可視化 利用R語言繪制物種組成圖。本文以堆疊面積圖的方式與大家分享。 面積圖簡介 面積圖又叫區域圖。它是在折線圖的基礎之上形成的, 它將折線圖中折線與自變量坐標軸之間的區域使用顏色或者紋理填充&…

設計模式之單例設計模式

單例設計模式 2.1 孤獨的太陽盤古開天&#xff0c;造日月星辰。2.2 餓漢造日2.3 懶漢的隊伍2.4 大道至簡 讀《秒懂設計模式總結》 單例模式(Singleton)是一種非常簡單且容易理解的設計模式。顧名思義&#xff0c;單例即單一的實例&#xff0c;確切地講就是指在某個系統中只存在…

【算法題】螺旋矩陣III (求解n階蛇形矩陣)

一、問題的提出 n階蛇形矩陣的特點是按照圖1所示的方式排列元素。n階蛇形矩陣是指矩陣的大小為nn&#xff0c;其中n為正整數。 題目背景 一個 n 行 n 列的螺旋矩陣可由如圖1所示的方法生成&#xff0c;觀察圖片&#xff0c;找出填數規律。填數規則為從 1 開始填到 nn。 圖1 …

【配置環境】Linux下安裝MySQL

目錄 一&#xff0c;環境 二&#xff0c;安裝步驟 1.使用包管理器安裝MySQL 2.配置MySQL的安全選項 3.設置root用戶使用密碼進行身份驗證&#xff08;可選&#xff09; 三&#xff0c;拓展知識 1.如何修改MySQL的密碼策略&#xff1f; 2.實現連接MySQL數據庫的測試代碼…

TiDB基礎介紹、應用場景及架構

1. 什么是newsql NewSQL 是對各種新的可擴展/高性能數據庫的簡稱&#xff0c;這類數據庫不僅具有NoSQL對海量數據的存儲管理能力&#xff0c;還保持了傳統數據庫支持ACID和SQL等特性。 NewSQL是指這樣一類新式的關系型數據庫管理系統&#xff0c;針對OLTP&#xff08;讀-寫&…

經驗分享:企業數據倉庫建設方案總結!

導讀 在企業的數字化轉型浪潮中&#xff0c;數據被譽為“新時代的石油”&#xff0c;而數據倉庫作為數據管理與分析的核心基礎設施&#xff0c;在企業的信息化建設中扮演著重要的角色。本文將深入探討企業數據倉庫建設過程中所遇到的問題以及解決經驗&#xff0c;為正在籌備或…

進程/線程上下文切換會用掉你多少CPU?

進程是操作系統的偉大發明之一&#xff0c;對應用程序屏蔽了CPU調度、內存管理等硬件細節&#xff0c;而抽象出一個進程的概念&#xff0c;讓應用程序專心于實現自己的業務邏輯既可&#xff0c;而且在有限的CPU上可以“同時”進行許多個任務。但是它為用戶帶來方便的同時&#…

嵌入式Linux Qt5 (C++)開發欄目概述

本欄目開始介紹Linux系統下的Qt C程序開發&#xff0c;資源是以嵌入式為切入點&#xff08;現在Linux系統下的Qt C程序開發好像就是應用于嵌入式&#xff09;&#xff0c;那就跟著一起學習Linux系統下的Qt C程序開發知識&#xff0c;再擴展一下嵌入式的知識吧。我這里默認已經熟…

php初解

php是什么&#xff1f; PHP&#xff0c;全稱 Hypertext Preprocessor &#xff0c;中文翻譯“超文本預處理器”。 PHP是一種被廣泛應用的開源通用腳本語言&#xff0c;尤其適用于 Web 開發。 擁有快速&#xff0c;靈活&#xff0c;實用的特點&#xff0c;PHP能做任何事&#xf…

ORACLE中UNION、UNION ALL、MINUS、INTERSECT學習

1、UNION和UNION ALL的使用與區別 如果我們需要將兩個select語句的結果作為一個整體顯示出來&#xff0c;我們就需要用到union或者union all關鍵字。union的作用是將多個結果合并在一起顯示出來。 union和union all的區別是union會自動壓縮多個結果集合中的重復結果&#xff…

高速下載VisualGLM模型文件的解決方案

大家好,我是愛編程的喵喵。雙985碩士畢業,現擔任全棧工程師一職,熱衷于將數據思維應用到工作與生活中。從事機器學習以及相關的前后端開發工作。曾在阿里云、科大訊飛、CCF等比賽獲得多次Top名次。現為CSDN博客專家、人工智能領域優質創作者。喜歡通過博客創作的方式對所學的…

GO語言自底向上優化

Go Ballast(通過嘗試降低 GC 頻率以提高整體性能&#xff0c;針對所有 Go應用都適用) 首先我們明白GO語言GC觸發條件是由比例來觸發的。例如&#xff0c;當前存活內存10GB&#xff0c;觸發比例是100%&#xff0c;因此下次觸發GC的時候是當內存達到20GB的時候觸發GC。這種機制在…

碎片筆記|圖數據與圖神經網絡基礎介紹

前言&#xff1a;前段時間了解了一下圖神經網絡&#xff0c;本篇博客記錄一下相關知識&#xff0c;以備不時之需。 強烈推薦這篇博客&#xff08;作者來自 Google Research&#xff09;&#xff0c;個人認為是圖神經網絡基礎入門的不二選擇&#xff01; 目錄 一、圖數據1.1 定義…

Windows上使用FFmpeg實現本地視頻推送模擬海康協議rtsp視頻流

場景 Nginx搭建RTMP服務器FFmpeg實現海康威視攝像頭預覽&#xff1a; Nginx搭建RTMP服務器FFmpeg實現海康威視攝像頭預覽_nginx rtmp 海康攝像頭_霸道流氓氣質的博客-CSDN博客 上面記錄的是使用FFmpeg拉取海康協議攝像頭的rtsp流并推流到流媒體服務器。 如果在其它業務場景…

TCP/IP協議組

TCP/IP通信協議是目前最完整、使用最廣泛的通信協議。它的魅力在于可使不同硬件結構、不同操作系統的計算機相互通信。TCP/IP協議既可用于廣域網&#xff0c;也可用于局域網&#xff0c;它是Internet/Intranet的基石。TCP/IP通信協議事實上是一組協議。 TCP/IP協議可分為5層也可…

使用 Redis 實現共享 Session 的高效解決方案

系列文章目錄 文章目錄 系列文章目錄前言一、為什么需要共享 Session?二、使用 Redis 實現共享 Session1.安裝和配置 Redis2.實現 Session 存取操作3.使用 Session 數據三、測試共享 Session四、注意事項總結前言 在分布式系統中,實現共享 Session 是一個重要的問題。本文將…

GT Code - 圖譯算法編輯器(集成QT、C++、C、Linux、Git、java、web、go、高并發、服務器、分布式、網絡編程、云計算、大數據項目)

目錄 項目概述 發文意義 項目介紹 功能分析 設計概要 功能展示 項目文檔 項目概述 “GT Code 圖譯算法編輯器”是一款跨平臺、輕量級的代碼編輯器&#xff0c;主要面向軟件開發人員&#xff0c;它實現了編輯、編譯、繪制代碼流程圖、生成調試演示動畫等功能&#xff0c;以…

go版本glog/klog 參數使用方法心得

問題 glog很好用&#xff0c;但是官方文檔卻很爛&#xff0c;對于很多參數并沒有做詳細說明&#xff0c;于是通過看源碼測試&#xff0c;總結出以下使用方法 可選參數 flag.BoolVar(&logging.toStderr, "logtostderr", false, "log to standard error in…