Maven的常用命令總結(jié)大全
一、Maven的常用命令
我們可以在cmd 中通過(guò)一系列的 maven 命令來(lái)對(duì)我們的 maven-helloworld 工程進(jìn)行編譯、測(cè)試、運(yùn)行、打包、安裝、部署。
1、compile 編譯命令
compile 是 maven 工程的編譯命令,作用是將 src/main/java 下的文件編譯為 class 文件輸出到 target目錄下。cmd 進(jìn)入命令狀態(tài),執(zhí)行mvn compile,如下圖提示成功:
查看 target 目錄,class 文件已生成,編譯完成。
2、test 測(cè)試命令
test 是 maven 工程的測(cè)試命令 mvn test,會(huì)執(zhí)行src/test/java下的單元測(cè)試類。
cmd 執(zhí)行 mvn test 執(zhí)行 src/test/java 下單元測(cè)試類,下圖為測(cè)試結(jié)果,運(yùn)行 1 個(gè)測(cè)試用例,全部成功。
3 、clean 清理命令
clean 是 maven 工程的清理命令,執(zhí)行 clean 會(huì)刪除 target 目錄及內(nèi)容。
4、package 打包命令
package 是 maven 工程的打包命令,對(duì)于 java 工程執(zhí)行 package 打成 jar 包,對(duì)于web 工程打成war包。
5、 install 安裝命令
install 是 maven 工程的安裝命令,執(zhí)行 install 將 maven 打成 jar 包或 war 包發(fā)布到本地倉(cāng)庫(kù)。
從運(yùn)行結(jié)果中,可以看出:當(dāng)后面的命令執(zhí)行時(shí),前面的操作過(guò)程也都會(huì)自動(dòng)執(zhí)行,
6、Maven 指令的生命周期
maven 對(duì)項(xiàng)目構(gòu)建過(guò)程分為三套相互獨(dú)立的生命周期,請(qǐng)注意這里說(shuō)的是“三套”,而且“相互獨(dú)立”。
這三套生命周期分別是:
Clean Lifecycle 在進(jìn)行真正的構(gòu)建之前進(jìn)行一些清理工作。
Default Lifecycle 構(gòu)建的核心部分,編譯,測(cè)試,打包,部署等等。
Site Lifecycle 生成項(xiàng)目報(bào)告,站點(diǎn),發(fā)布站點(diǎn)。
命令 | 說(shuō)明 |
---|---|
mvn clean | 清除target目錄 |
mvn compile | 編譯main目錄 |
mvn test | 執(zhí)行所有的測(cè)試方法 |
mvn package | 打包當(dāng)前的項(xiàng)目到target目錄 |
mvn install | 打包并且發(fā)布到本地倉(cāng)庫(kù) |
二、maven 的概念模型
Maven 包含了一個(gè)項(xiàng)目對(duì)象模型 (Project Object Model),一組標(biāo)準(zhǔn)集合,一個(gè)項(xiàng)目生命周期(Project Lifecycle),一個(gè)依賴管理系統(tǒng)(Dependency Management System),和用來(lái)運(yùn)行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。
- 項(xiàng)目對(duì)象模型 (Project Object Model)
一個(gè) maven 工程都有一個(gè) pom.xml 文件,通過(guò) pom.xml 文件定義項(xiàng)目的坐標(biāo)、項(xiàng)目依賴、項(xiàng)目信息、插件目標(biāo)等。
- 依賴管理系統(tǒng)(Dependency Management System)
通過(guò) maven 的依賴管理對(duì)項(xiàng)目所依賴的 jar 包進(jìn)行統(tǒng)一管理。比如:項(xiàng)目依賴 junit4.9,通過(guò)在 pom.xml 中定義 junit4.9 的依賴即使用 junit4.9,如下所示是 junit4.9的依賴定義:
<!-- 依賴關(guān)系 --> <dependencies> <!-- 此項(xiàng)目運(yùn)行使用 junit,所以此項(xiàng)目依賴 junit --> <dependency> <!-- junit 的項(xiàng)目名稱 --> <groupId>junit</groupId> <!-- junit 的模塊名稱 --> <artifactId>junit</artifactId> <!-- junit 版本 --> <version>4.9</version> <!-- 依賴范圍:?jiǎn)卧獪y(cè)試時(shí)使用 junit --> <scope>test</scope> </dependency> <dependencies>
- 一個(gè)項(xiàng)目生命周期(Project Lifecycle)
使用 maven 完成項(xiàng)目的構(gòu)建,項(xiàng)目構(gòu)建包括:清理、編譯、測(cè)試、部署等過(guò)程,maven 將這些
過(guò)程規(guī)范為一個(gè)生命周期,如下所示是生命周期的各各階段:
maven 通過(guò)執(zhí)行一些簡(jiǎn)單命令即可實(shí)現(xiàn)上邊生命周期的各各過(guò)程,比如執(zhí)行 mvn compile 執(zhí)行編譯、執(zhí)行 mvn clean 執(zhí)行清理。
- 一組標(biāo)準(zhǔn)集合
maven將整個(gè)項(xiàng)目管理過(guò)程定義一組標(biāo)準(zhǔn),比如:通過(guò) maven 構(gòu)建工程有標(biāo)準(zhǔn)的目錄結(jié)構(gòu),有標(biāo)準(zhǔn)的生命周期階段、依賴管理有標(biāo)準(zhǔn)的坐標(biāo)定義等。
- 插件(plugin)目標(biāo)(goal)
maven 管理項(xiàng)目生命周期過(guò)程都是基于插件完成的。
總結(jié)
到此這篇關(guān)于Maven的常用命令總結(jié)的文章就介紹到這了,更多相關(guān)Maven常用命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java用Cookie限制點(diǎn)贊次數(shù)(簡(jiǎn)版)
最近做了一個(gè)項(xiàng)目,其中有項(xiàng)目需求是,要用cookie實(shí)現(xiàn)限制點(diǎn)贊次數(shù),特此整理,把實(shí)現(xiàn)代碼分享給大家供大家學(xué)習(xí)2016-02-02jasypt對(duì)配置文件的數(shù)據(jù)加密與解密方式
這篇文章主要介紹了jasypt對(duì)配置文件的數(shù)據(jù)加密與解密方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01探索HttpClient中的close方法及其對(duì)連接的影響
這篇文章主要為大家介紹了HttpClient中的close方法及其對(duì)連接的影響探索分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10springboot使用DynamicDataSource動(dòng)態(tài)切換數(shù)據(jù)源的實(shí)現(xiàn)過(guò)程
這篇文章主要給大家介紹了關(guān)于springboot使用DynamicDataSource動(dòng)態(tài)切換數(shù)據(jù)源的實(shí)現(xiàn)過(guò)程,Spring Boot應(yīng)用中可以配置多個(gè)數(shù)據(jù)源,并根據(jù)注解靈活指定當(dāng)前使用的數(shù)據(jù)源,需要的朋友可以參考下2023-08-08SpringBoot基于Swagger2構(gòu)建API文檔過(guò)程解析
這篇文章主要介紹了SpringBoot基于Swagger2構(gòu)建API文檔過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11java進(jìn)行error捕獲和處理示例(java異常捕獲)
通常來(lái)說(shuō),大家都是對(duì)Java中的Exception進(jìn)行捕獲和進(jìn)行相應(yīng)的處理,有些人說(shuō),error就無(wú)法捕獲了。其實(shí),error也是可以捕獲的。Error和Exception都是Throwable的子類。既然可以catch Throwable,那么error也是可以catch的2014-01-01Spring中的InitializingBean接口源碼解析
這篇文章主要介紹了Spring中的InitializingBean接口源碼解析,InitializingBean接口為Bean初始化提供了一種方式,實(shí)現(xiàn)InitializingBean接口的Bean,在BeanFactory設(shè)置其所有屬性后會(huì)調(diào)用其afterPropertiesSet()方法,需要的朋友可以參考下2024-02-02使用spring通過(guò)aop獲取方法參數(shù)和參數(shù)值
這篇文章主要介紹了使用spring通過(guò)aop獲取方法參數(shù)和參數(shù)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09