最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Maven構(gòu)建命令使用詳解

 更新時(shí)間:2025年02月28日 10:04:26   作者:drebander  
Maven構(gòu)建命令詳解:mvnclean、mvncompile、mvntest、mvnpackage、mvninstall、mvndeploy及其他常用命令,幫助開(kāi)發(fā)者高效管理項(xiàng)目構(gòu)建流程

1. Maven 構(gòu)建命令概述

Maven 是 Java 生態(tài)中最流行的構(gòu)建工具之一,它提供了一套標(biāo)準(zhǔn)化的構(gòu)建命令,使得開(kāi)發(fā)者可以輕松管理項(xiàng)目的編譯、測(cè)試、打包、安裝和部署等任務(wù)。

本篇文章將深入解析 Maven 中最常用的構(gòu)建命令,包括:

  • mvn clean
  • mvn compile
  • mvn test
  • mvn package
  • mvn install
  • mvn deploy
  • 其他常見(jiàn)命令,如 mvn dependency:treemvn help:effective-pom 等。

2. Maven 構(gòu)建命令詳解

2.1 mvn clean

作用:清除 target/ 目錄,刪除之前構(gòu)建的文件,確保下一次構(gòu)建的干凈環(huán)境。

mvn clean

執(zhí)行過(guò)程

  • 刪除 target/ 目錄
  • 移除編譯生成的 class 文件、打包的 JAR 文件等

適用場(chǎng)景

  • 在重新構(gòu)建項(xiàng)目之前,避免舊的編譯文件影響新版本。

示例

mvn clean package

效果

  • 先清理 target/ 目錄,再進(jìn)行打包。

2.2 mvn compile

作用:編譯 src/main/java 目錄下的源代碼,并生成 .class 文件到 target/classes/ 目錄。

mvn compile

執(zhí)行過(guò)程

  • 解析 pom.xml
  • 下載項(xiàng)目依賴(lài)(如果依賴(lài)不存在)
  • 編譯 src/main/java 目錄下的 Java 源代碼
  • 生成 .class 文件到 target/classes/

適用場(chǎng)景

  • 當(dāng)需要僅編譯代碼而不執(zhí)行測(cè)試時(shí)。

示例

mvn clean compile

效果

  • 先清理 target/ 目錄,然后編譯代碼。

2.3 mvn test

作用:編譯 src/test/java 目錄下的測(cè)試代碼,并運(yùn)行單元測(cè)試(JUnit、TestNG)。

mvn test

執(zhí)行過(guò)程

  • 先執(zhí)行 mvn compile
  • 編譯 src/test/java 目錄下的測(cè)試代碼
  • 運(yùn)行測(cè)試(JUnit 或 TestNG)

適用場(chǎng)景

  • 運(yùn)行項(xiàng)目中的單元測(cè)試,確保代碼邏輯正確。

示例

mvn clean test

效果

  • 先清理 target/ 目錄,然后運(yùn)行所有測(cè)試。

2.4 mvn package

作用:將編譯后的代碼打包(如 JAR、WAR)到 target/ 目錄。

mvn package

執(zhí)行過(guò)程

  • 先執(zhí)行 mvn test
  • 打包 target/classes/ 下的文件為 JAR 或 WAR

適用場(chǎng)景

  • 當(dāng)需要生成可部署的 JAR/WAR 文件時(shí)。

示例

mvn clean package

效果

  • 清理舊的 target/ 目錄,編譯代碼,運(yùn)行測(cè)試,最終打包 JAR/WAR。

2.5 mvn install

作用:將打包好的 JAR/WAR 文件安裝到 本地 Maven 倉(cāng)庫(kù)~/.m2/repository/),供其他項(xiàng)目使用。

mvn install

執(zhí)行過(guò)程

  • 先執(zhí)行 mvn package
  • target/ 目錄中的 JAR/WAR 文件復(fù)制到本地 Maven 倉(cāng)庫(kù)

適用場(chǎng)景

  • 當(dāng)開(kāi)發(fā)多個(gè)模塊(Module)時(shí),一個(gè)模塊可以安裝到本地倉(cāng)庫(kù),以便另一個(gè)模塊引用。

示例

mvn clean install

效果

  • 清理舊的構(gòu)建,編譯代碼,運(yùn)行測(cè)試,打包,并安裝到本地倉(cāng)庫(kù)。

2.6 mvn deploy

作用:將構(gòu)建好的 JAR/WAR 部署到 遠(yuǎn)程 Maven 倉(cāng)庫(kù),如 Nexus、Artifactory。

mvn deploy

執(zhí)行過(guò)程

  • 先執(zhí)行 mvn install
  • 上傳 target/ 目錄中的 JAR/WAR 文件到遠(yuǎn)程 Maven 倉(cāng)庫(kù)

適用場(chǎng)景

  • 當(dāng)開(kāi)發(fā)的庫(kù)需要在團(tuán)隊(duì)內(nèi)部共享時(shí),可以部署到私有倉(cāng)庫(kù)(如 Nexus)。

示例

mvn clean deploy

效果

  • 清理、編譯、測(cè)試、打包,并上傳到遠(yuǎn)程倉(cāng)庫(kù)。

3. 其他常用 Maven 命令

3.1 查看依賴(lài)樹(shù)

作用:列出所有項(xiàng)目依賴(lài),包括傳遞性依賴(lài),幫助分析依賴(lài)沖突。

mvn dependency:tree

示例

mvn dependency:tree

輸出

[INFO] com.example:my-app:jar:1.0-SNAPSHOT
[INFO] ├─ org.springframework:spring-core:jar:5.3.9:compile
[INFO] ├─ commons-logging:commons-logging:jar:1.2:compile

3.2 強(qiáng)制更新依賴(lài)

作用:強(qiáng)制更新所有依賴(lài),確保拉取最新版本。

mvn clean install -U

3.3 顯示 Maven 有效的 POM 配置

作用:查看合并后的 pom.xml,幫助調(diào)試依賴(lài)管理。

mvn help:effective-pom

3.4 跳過(guò)測(cè)試

作用:構(gòu)建時(shí)跳過(guò)單元測(cè)試,提高構(gòu)建速度。

mvn clean package -DskipTests

3.5 運(yùn)行單個(gè)測(cè)試

作用:只運(yùn)行指定的測(cè)試類(lèi),而不是運(yùn)行所有測(cè)試。

mvn test -Dtest=MyTestClass

3.6 運(yùn)行 Web 項(xiàng)目

作用:如果使用 tomcat7-maven-plugin,可以直接運(yùn)行 Web 項(xiàng)目。

mvn tomcat7:run

4. Maven 常用命令總結(jié)

命令作用
mvn clean刪除 target/ 目錄,清理構(gòu)建文件
mvn compile編譯 src/main/java 目錄中的代碼
mvn test運(yùn)行 src/test/java 目錄下的測(cè)試代碼
mvn package生成 JAR/WAR 文件
mvn install將 JAR/WAR 安裝到本地 Maven 倉(cāng)庫(kù)
mvn deploy將 JAR/WAR 部署到遠(yuǎn)程倉(cāng)庫(kù)
mvn dependency:tree查看項(xiàng)目的依賴(lài)樹(shù)
mvn clean install -U強(qiáng)制更新依賴(lài)
mvn help:effective-pom查看合并后的 POM 配置
mvn clean package -DskipTests跳過(guò)測(cè)試打包
mvn test -Dtest=MyTestClass只運(yùn)行指定的測(cè)試類(lèi)

5. 總結(jié)

  • Maven 提供了一套標(biāo)準(zhǔn)的構(gòu)建命令,涵蓋了 清理、編譯、測(cè)試、打包、安裝、部署 等功能。
  • 通過(guò) mvn clean install 可以完成一次完整的構(gòu)建,并安裝到本地倉(cāng)庫(kù)。
  • 通過(guò) mvn deploy 可以將構(gòu)建好的 JAR/WAR 部署到遠(yuǎn)程倉(cāng)庫(kù),供團(tuán)隊(duì)共享。
  • 通過(guò) mvn dependency:tree 可以分析依賴(lài)關(guān)系,幫助解決依賴(lài)沖突。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實(shí)現(xiàn)AES加密算法的簡(jiǎn)單示例分享

    Java實(shí)現(xiàn)AES加密算法的簡(jiǎn)單示例分享

    這篇文章主要介紹了Java實(shí)現(xiàn)AES加密算法的簡(jiǎn)單示例分享,AES算法是基于對(duì)密碼值的置換和替代,需要的朋友可以參考下
    2016-04-04
  • Maven配置文件settings.xml的實(shí)現(xiàn)

    Maven配置文件settings.xml的實(shí)現(xiàn)

    Maven是一個(gè)用于構(gòu)建和管理Java項(xiàng)目的強(qiáng)大工具,它依賴(lài)于設(shè)置文件來(lái)配置和管理其行為,其中最重要的之一便是settings.xml文件,本文主要介紹了Maven配置文件settings.xml的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Java RMI詳細(xì)介紹及簡(jiǎn)單實(shí)例

    Java RMI詳細(xì)介紹及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了Java RMI詳細(xì)介紹及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Java獲取classpath根路徑的三種方法

    Java獲取classpath根路徑的三種方法

    本文介紹了在Java中獲取classpath根路徑的三種方法:ClassLoader.getResource、Class.getResource和System.getProperty,每種方法都有其適用場(chǎng)景,開(kāi)發(fā)者可以根據(jù)具體需求選擇合適的方法,需要的朋友可以參考下
    2026-01-01
  • Spring中的自動(dòng)裝配機(jī)制詳解

    Spring中的自動(dòng)裝配機(jī)制詳解

    這篇文章主要介紹了Spring中的自動(dòng)裝配機(jī)制詳解,自動(dòng)裝配就是會(huì)通過(guò)Spring的上下文為你找出相應(yīng)依賴(lài)項(xiàng)的類(lèi),通俗的說(shuō)就是Spring會(huì)在上下文中自動(dòng)查找,并自動(dòng)給Bean裝配與其相關(guān)的屬性,需要的朋友可以參考下
    2023-08-08
  • Java 實(shí)戰(zhàn)交易平臺(tái)項(xiàng)目之寵物在線商城系統(tǒng)

    Java 實(shí)戰(zhàn)交易平臺(tái)項(xiàng)目之寵物在線商城系統(tǒng)

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實(shí)現(xiàn)一個(gè)寵物在線商城系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • Springboot 整合 Java DL4J 實(shí)現(xiàn)文物保護(hù)系統(tǒng)的詳細(xì)過(guò)程

    Springboot 整合 Java DL4J 實(shí)現(xiàn)文物保護(hù)系統(tǒng)的詳細(xì)過(guò)程

    在數(shù)字化時(shí)代,文物保護(hù)尤為關(guān)鍵,本文介紹如何利用SpringBoot和Deeplearning4j構(gòu)建一個(gè)圖像識(shí)別的文物保護(hù)系統(tǒng),系統(tǒng)采用卷積神經(jīng)網(wǎng)絡(luò)(CNN),能夠識(shí)別文物的損壞情況,本文介紹Springboot 整合 Java DL4J 實(shí)現(xiàn)文物保護(hù)系統(tǒng),感興趣的朋友一起看看吧
    2024-10-10
  • JAVA如何自動(dòng)下載SSL證書(shū)并導(dǎo)入到本地

    JAVA如何自動(dòng)下載SSL證書(shū)并導(dǎo)入到本地

    這篇文章主要介紹了JAVA如何自動(dòng)下載SSL證書(shū)并導(dǎo)入到本地問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java中的HashMap源碼分析

    Java中的HashMap源碼分析

    這篇文章主要介紹了Java中的HashMap源碼分析,散列表是根據(jù)關(guān)鍵碼值(Key?value)而直接進(jìn)行訪問(wèn)的數(shù)據(jù)結(jié)構(gòu),也就是說(shuō),它通過(guò)把關(guān)鍵碼值映射到表中一個(gè)位置來(lái)訪問(wèn)記錄,以加快查找的速度,這個(gè)映射函數(shù)叫做散列函數(shù),存放記錄的數(shù)組叫做散列表,需要的朋友可以參考下
    2023-09-09
  • 詳細(xì)分析JAVA8新特性 Base64

    詳細(xì)分析JAVA8新特性 Base64

    這篇文章主要介紹了JAVA8新特性 Base64的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08

最新評(píng)論

丰县| 延川县| 上杭县| 丰镇市| 五原县| 太仆寺旗| 石台县| 新化县| 亚东县| 库尔勒市| 衡水市| 江门市| 舟山市| 常山县| 大埔区| 庆阳市| 石泉县| 汶川县| 赤水市| 洪雅县| 嵩明县| 四会市| 偃师市| 集贤县| 阿坝| 红原县| 义乌市| 门头沟区| 廉江市| 新和县| 汝州市| 龙南县| 麦盖提县| 溧水县| 潜山县| 呼和浩特市| 台江县| 蚌埠市| 车险| 桑植县| 密云县|