Maven 的常用指令

一、核心構建指令

  1. mvn clean

    • 作用:刪除?target?目錄(清理編譯/打包生成的文件)。

    • 場景:確保從頭開始構建,避免殘留文件干擾。

  2. mvn compile

    • 作用:編譯項目源代碼。

    • 場景:快速檢查代碼是否能編譯通過,無需打包。

  3. mvn package

    • 作用:編譯 + 運行測試 + 打包(生成 JAR/WAR 等)。

    • 場景:本地驗證完整構建流程,生成可部署的包。

  4. mvn install

    • 作用:編譯 + 測試 + 打包,并將構建結果安裝到本地倉庫。

    • 場景:本地多模塊項目中,將子模塊的構建結果提供給其他模塊使用。

  5. mvn deploy

    • 作用:將構建結果發布到遠程倉庫(如 Nexus、Artifactory)。

    • 場景:將穩定版本的依賴共享給團隊或持續集成環境。


二、依賴管理指令

  1. mvn dependency:tree

    • 作用:打印項目依賴樹,顯示所有傳遞性依賴。

    • 場景:分析依賴沖突(如多個版本的庫沖突),快速定位問題。

  2. mvn dependency:analyze

    • 作用:檢查未聲明但被使用的依賴(或聲明但未使用的依賴)。

    • 場景:優化?pom.xml,清理冗余依賴。

  3. mvn versions:display-dependency-updates

    • 作用:掃描依賴是否有新版本可用。

    • 場景:定期更新依賴版本,修復安全漏洞或使用新特性。


三、測試相關指令

  1. mvn test

    • 作用:運行單元測試。

    • 場景:驗證代碼邏輯是否符合預期。

  2. mvn test -Dtest=TestClassName

    • 作用:運行指定測試類。

    • 場景:調試單個測試用例,避免運行全部測試。

  3. mvn test -DskipTests

    • 作用:跳過測試階段。

    • 場景:快速構建(如臨時修復時不需要執行測試)。


四、調試與優化指令

  1. mvn -X

    • 作用:開啟 Maven 的調試日志(顯示詳細執行過程)。

    • 場景:排查構建失敗的具體原因。

  2. mvn -U

    • 作用:強制更新遠程倉庫的快照(Snapshot)依賴。

    • 場景:確保使用最新的快照版本(如依賴頻繁更新的開發中庫)。

  3. mvn --offline

    • 作用:離線模式(僅使用本地倉庫的依賴)。

    • 場景:網絡不可用時繼續構建。


五、多模塊項目指令

  1. mvn -pl module1,module2

    • 作用:僅構建指定的子模塊(如?module1?和?module2)。

    • 場景:大型項目中快速構建部分模塊,節省時間。

  2. mvn -am -pl module1

    • 作用:構建指定模塊及其依賴的其他模塊。

    • 場景:確保依賴的子模塊已構建(如?module1?依賴?core?模塊時自動構建?core)。


六、高級場景

  1. mvn help:effective-pom

    • 作用:生成合并所有父 POM 后的最終有效 POM。

    • 場景:分析實際生效的配置(如插件、依賴版本)。

  2. mvn archetype:generate

    • 作用:使用 Maven 原型(模板)創建新項目。

    • 場景:快速生成標準項目結構(如 Spring Boot、JavaFX 項目)。

  3. mvn release:prepare?/?mvn release:perform

    • 作用:自動化版本發布(更新版本號、打 Tag、發布到倉庫)。

    • 場景:規范化的版本發布流程。


總結表格

指令典型場景
mvn clean install清理舊構建并安裝到本地倉庫
mvn dependency:tree分析依賴沖突或冗余依賴
mvn test -DskipTests跳過測試快速打包
mvn versions:display-dependency-updates檢查依賴庫是否有新版本可用
mvn -pl module1 -am構建指定模塊及其依賴模塊
mvn -X開啟詳細日志排查構建問題

通過靈活組合這些指令,可以高效完成構建、調試和發布任務。

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

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

相關文章

llvm數據流分析

llvm數據流分析 1.數據流分析2.LLVM實現2.1.常量傳播2.2.活躍性分析 相關參考文檔:DataFlowAnalysisIntro、ustc編譯原理課程、南大程序分析課程1、南大程序分析課程2。 1.數據流分析 數據流分析在編譯優化等程序分析任務上都有重要應用。通常數據流分析可被抽象為…

C++ MySQL 常用接口(基于 MySQL Connector/C++)

C MySQL 常用接口(基于 MySQL Connector/C) 1. 數據庫連接 接口: sql::mysql::MySQL_Driver *driver; sql::Connection *con;作用: 用于創建 MySQL 連接對象。 示例: driver sql::mysql::get_mysql_driver_insta…

C++藍橋杯基礎篇(十一)

片頭 嗨~小伙伴們,大家好!今天我們來學習C藍橋杯基礎篇(十一),學習類,結構體,指針相關知識,準備好了嗎?咱們開始咯~ 一、類與結構體 類的定義:在C中&#x…

css中實現border距離視圖左右兩側有距離

首先看效果圖 再看css是如何實現 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>.main {background-color: aqua;display: block;width: 300px;padding: 0px 32px;box-sizing: border-box;}/…

Ubuntu 22.04 無法進入圖形界面的解決方法

Ubuntu 22.04 無法進入圖形界面&#xff0c;只能進入 tty&#xff0c;可能是由于圖形界面相關的配置或驅動程序出現了問題。以下是一些常見的解決方法&#xff1a; 1. 檢查圖形界面服務狀態 首先&#xff0c;檢查圖形界面服務&#xff08;通常是 gdm 或 lightdm&#xff09;的…

Tweak Power:全方位電腦系統優化的高效工具

在日常使用電腦時&#xff0c;系統性能的下降、垃圾文件的堆積以及硬盤的老化等問題常常困擾著用戶。為了提升電腦性能、優化系統運行&#xff0c;許多人會選擇系統優化工具。然而&#xff0c;國內一些系統優化軟件常常因為廣告過多或功能冗雜而讓人望而卻步。此時&#xff0c;…

深入淺出Bearer Token:解析工作原理及其在Vue、Uni-app與Java中的實現Demo

目錄 前言1. 基本知識2. Demo3. 實戰 前言 &#x1f91f; 找工作&#xff0c;來萬碼優才&#xff1a;&#x1f449; #小程序://萬碼優才/r6rqmzDaXpYkJZF 1. 基本知識 Bearer Token是一種基于Token的認證機制&#xff0c;用于在HTTP請求中傳遞用戶的身份信息 應用于RESTful A…

kubernetes——part3-5 核心概念 Service

一、 service作用 使用kubernetes集群運行工作負載時&#xff0c;由于Pod經常處于用后即焚狀態&#xff0c;Pod經常被重新生成&#xff0c;因此Pod對應的IP地址也會經常變化&#xff0c;導致無法直接訪問Pod提供的服務&#xff0c;Kubernetes中使用了Service來解決這一問題&am…

從零開始 | C語言基礎刷題DAY1

?個人主頁&#xff1a;折枝寄北的博客 DAY1[2025.3.11] 1. 求兩個數的較大值2.從鍵盤輸入的兩個數的大小關系3.一個整數的奇偶性&#xff0c;請判斷4. 考試分數是否通過5.考試成績是否完美&#xff0c;請判斷 1. 求兩個數的較大值 題目&#xff1a; 寫一個函數求兩個整數的較…

開源模型時代的 AI 開發革命:Dify 技術深度解析

開源模型時代的AI開發革命&#xff1a;Dify技術深度解析 引言&#xff1a;AI開發的開源新紀元 在生成式AI技術突飛猛進的2025年&#xff0c;開源模型正成為推動行業創新的核心力量。據統計&#xff0c;全球超過80%的AI開發者正在使用開源模型構建應用&#xff0c;這一趨勢不僅…

Dify Web 前端獨立部署指南(與后端分離,獨立部署)

背景:單獨拆分前端出來部署,二開前后端 本文檔專注于 Dify Web 前端的部署流程和配置,適用于需要將項目部署到各種環境的運維人員和開發者。 1. 環境準備 1.1 部署環境要求 Node.js >= 18.17.0Nginx 或其他Web服務器(生產環境推薦)Docker(可選,用于容器化部署)1.…

《蒼穹外賣》SpringBoot后端開發項目核心知識點整理(DAY1 to DAY3)

目錄 一、在本地部署并啟動Nginx服務1. 解壓Nginx壓縮包2. 啟動Nginx服務3. 驗證Nginx是否啟動成功&#xff1a; 二、導入接口文檔1. 黑馬程序員提供的YApi平臺2. YApi Pro平臺3. 推薦工具&#xff1a;Apifox 三、Swagger1. 常用注解1.1 Api與ApiModel1.2 ApiModelProperty與Ap…

大數據hadoop課程筆記

1.課程導入 柯潔 Alpha Go是人工智能領域的里程碑。 深度學習 大模型deepseek chatgpt 大模型 和 大數據 之間有著非常緊密的關系。可以說&#xff0c;大數據是大模型發展的基石&#xff0c;而大模型是大數據價值挖掘的重要工具。 https://youtu.be/nN-VacxHUH8?sifj7Ltk…

架構學習第八周--Kubernetes博客搭建

目錄 一、整體架構 二、部署MySQL主從 三、部署Redis哨兵 四、部署WordPress 五、注意事項 一、整體架構 本項目為在一主三從的Kubernetes集群上部署WordPress博客。因為WordPress部分容器版本自行集成Apache和PHP服務&#xff0c;因此在Kubernetes上部署WordPress只需提供…

Application.OnTime如何引用帶參數的過程

Application.OnTime方法本身并不直接支持傳遞參數給被調用的過程。不過&#xff0c;有幾種方法可以間接實現這個需求。 方法1&#xff1a;使用單引號表達式 使用單引號表達式來傳遞參數時&#xff0c;不能在表達式中使用變量&#xff0c;需要把參數值直接寫到表達中&am…

網絡安全之tcpdump工具

引言 wireshark是一款非常不錯的抓包軟件&#xff0c;在圖形化界面占絕對統治地位&#xff1b;盡管其在字符界面下有些許選項可供使用&#xff0c;但終究不太方便&#xff0c;下面我再介紹一款NB的終端抓包工具 tcpdump 1、混雜模式 linux的網卡有混雜模式一說&#xff0c;當開…

VC++ 獲取目的IP的路由

GetBestRoute 函數獲取到目的IP的最佳匹配路由。 第一個參數為&#xff1a;destination&#xff08;目的IP&#xff09; 第二個參數為&#xff1a;source&#xff08;源IP&#xff09; 通常不需要指定第二個source&#xff0c;這個一般用來匹配具體某一個網卡接口路由的&…

JavaScript 模塊 vs C# 類:封裝邏輯的兩種哲學

引言 在現代軟件開發中&#xff0c;模塊化和面向對象設計是代碼組織的核心課題。本文通過對比 JavaScript 模塊&#xff08;ES6 Module&#xff09;與 C# 類&#xff08;Class&#xff09;的實現方式&#xff0c;探討兩種語言在封裝邏輯時的不同哲學&#xff0c;并給出實際應用…

大模型在甲狀腺癌診療全流程預測及方案制定中的應用研究

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的與創新點 1.3 國內外研究現狀 二、大模型預測甲狀腺癌的理論基礎 2.1 甲狀腺癌相關醫學知識 2.2 大模型技術原理與特點 2.3 大模型在醫療領域的應用潛力 三、術前預測方案 3.1 預測模型構建 3.1.1 數據收集與預處理 …

electron+vue+webview內嵌網頁并注入js

vue內嵌網頁可以使用iframe實現內嵌網頁&#xff0c;但是只能通過postMessage間接通信&#xff0c;在electron環境下&#xff0c;vue可以直接使用webview來內嵌網頁&#xff0c;支持 executeJavaScript、postMessage、send 等豐富的通信機制。 使用 webview的優勢 性能更佳&…