亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

  • mvn clean
  • mvn compile
  • mvn test
  • mvn package
  • mvn install
  • mvn deploy
  • 其他常見命令,如 mvn dependency:tree、mvn help:effective-pom 等。

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

2.1 mvn clean

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

mvn clean

執(zhí)行過程

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

適用場景

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

示例

mvn clean package

效果

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

2.2 mvn compile

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

mvn compile

執(zhí)行過程

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

適用場景

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

示例

mvn clean compile

效果

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

2.3 mvn test

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

mvn test

執(zhí)行過程

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

適用場景

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

示例

mvn clean test

效果

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

2.4 mvn package

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

mvn package

執(zhí)行過程

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

適用場景

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

示例

mvn clean package

效果

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

2.5 mvn install

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

mvn install

執(zhí)行過程

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

適用場景

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

示例

mvn clean install

效果

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

2.6 mvn deploy

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

mvn deploy

執(zhí)行過程

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

適用場景

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

示例

mvn clean deploy

效果

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

3. 其他常用 Maven 命令

3.1 查看依賴樹

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

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)制更新依賴

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

mvn clean install -U

3.3 顯示 Maven 有效的 POM 配置

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

mvn help:effective-pom

3.4 跳過測試

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

mvn clean package -DskipTests

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

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

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 目錄下的測試代碼
mvn package生成 JAR/WAR 文件
mvn install將 JAR/WAR 安裝到本地 Maven 倉庫
mvn deploy將 JAR/WAR 部署到遠(yuǎn)程倉庫
mvn dependency:tree查看項(xiàng)目的依賴樹
mvn clean install -U強(qiáng)制更新依賴
mvn help:effective-pom查看合并后的 POM 配置
mvn clean package -DskipTests跳過測試打包
mvn test -Dtest=MyTestClass只運(yùn)行指定的測試類

5. 總結(jié)

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

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

相關(guān)文章

  • java生成隨機(jī)字符串的兩種方法

    java生成隨機(jī)字符串的兩種方法

    這篇文章主要為大家詳細(xì)介紹了java生成隨機(jī)字符串的兩種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • SpringBoot獲取maven打包時(shí)間的兩種方式

    SpringBoot獲取maven打包時(shí)間的兩種方式

    這篇文章主要介紹了SpringBoot獲取maven打包時(shí)間的兩種方式,文章通過代碼示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • SpringBoot項(xiàng)目中使用AOP的方法

    SpringBoot項(xiàng)目中使用AOP的方法

    本篇文章主要介紹了SpringBoot項(xiàng)目中使用AOP的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • Java動(dòng)態(tài)設(shè)置注解值及原理詳解

    Java動(dòng)態(tài)設(shè)置注解值及原理詳解

    這篇文章主要介紹了Java動(dòng)態(tài)設(shè)置注解值及原理詳解,AnnotationInvocationHandler是注解的代理hander,通過反射獲取類的注解時(shí)會(huì)通過AnnotationInvocationHandler創(chuàng)建代理對(duì)象并將數(shù)據(jù)存儲(chǔ)到memberValues里,需要的朋友可以參考下
    2023-11-11
  • Java項(xiàng)目中添加外部jar包的兩種方式(收藏版)

    Java項(xiàng)目中添加外部jar包的兩種方式(收藏版)

    這篇文章主要介紹了java項(xiàng)目中添加外部jar包的兩種方式,第二種方式是將外部jar包引入到本地maven倉庫中,本文給大家講解的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Java運(yùn)算符>、>>、>>>三者的區(qū)別

    Java運(yùn)算符>、>>、>>>三者的區(qū)別

    這篇文章主要介紹了Java運(yùn)算符>、>>、>>>三者的區(qū)別,做了一個(gè)簡單的對(duì)比,并用實(shí)例說明,需要的朋友可以參考下
    2014-06-06
  • SpringBoot接口數(shù)據(jù)加解密實(shí)戰(zhàn)記錄

    SpringBoot接口數(shù)據(jù)加解密實(shí)戰(zhàn)記錄

    現(xiàn)今對(duì)于大多數(shù)公司來說,信息安全工作尤為重要,下面這篇文章主要給大家介紹了關(guān)于SpringBoot接口數(shù)據(jù)加解密的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • SpringBoot?Profile多環(huán)境配置方式

    SpringBoot?Profile多環(huán)境配置方式

    這篇文章主要介紹了SpringBoot?Profile多環(huán)境配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 關(guān)于Java中byte[]?和?String互相轉(zhuǎn)換問題

    關(guān)于Java中byte[]?和?String互相轉(zhuǎn)換問題

    這篇文章主要介紹了Java中byte[]?和?String互相轉(zhuǎn)換問題,通過用例給大家介紹了通過String類將String轉(zhuǎn)換成byte[]或者byte[]轉(zhuǎn)換成String,具體實(shí)例代碼跟隨小編一起看看吧
    2022-01-01
  • 詳解Java中AbstractMap抽象類

    詳解Java中AbstractMap抽象類

    本篇文章給大家詳細(xì)介紹了Java集合中的AbstractMap抽象類的相關(guān)用法以及知識(shí)點(diǎn)總結(jié),需要的朋友參考下。
    2018-03-03

最新評(píng)論