詳解Maven命令大全
一、Maven簡(jiǎn)介
Maven 官網(wǎng):https://maven.apache.org
Maven 3.3.9版本文檔:http://maven.apache.org/ref/3...
Maven是一個(gè)項(xiàng)目管理工具,它包含了一個(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)的邏輯。
- 版本:maven有自己的版本定義和規(guī)則
- 構(gòu)建:可以完成編譯,打包,部署等。
- 依賴管理:方便引入所需依賴 Jar 包,不需手動(dòng)下載
- 文檔生成:maven的site命令支持各種文檔信息的發(fā)布,包括構(gòu)建過(guò)程的各種輸出,javadoc,產(chǎn)品文檔等。
- 項(xiàng)目關(guān)系:一個(gè)大型的項(xiàng)目通常有幾個(gè)小項(xiàng)目或者模塊組成,用maven可以很方便地管理
1. mvn help:describe
你是否因?yàn)橛洸磺迥硞€(gè)插件有哪些goal而痛苦過(guò),你是否因?yàn)橄氩黄鹉硞€(gè)goal有哪些參數(shù)而苦惱,那就試試這個(gè)命令吧,它會(huì)告訴你一切的.
參數(shù): 1. -Dplugin=pluginName 2. -Dgoal(或-Dmojo)=goalName:與-Dplugin一起使用,它會(huì)列出某個(gè)插件的goal信息,
如果嫌不夠詳細(xì),同樣可以加-Ddetail.(注:一個(gè)插件goal也被認(rèn)為是一個(gè) “Mojo”)
下面大家就運(yùn)行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!
2. mvn archetype:generate
你是怎么創(chuàng)建你的maven項(xiàng)目的?是不是像這樣:mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common,
如果你還再用的話,那你就out了,現(xiàn)代人都用mvn archetype:generate了,它將創(chuàng)建項(xiàng)目這件枯燥的事更加人性化,你再也不需要記那么多的archetypeArtifactId,你只需輸入archetype:generate,剩下的就是做”選擇題”了.
3. mvn tomcat:run
用了maven后,你再也不需要用eclipse里的tomcat來(lái)運(yùn)行web項(xiàng)目(實(shí)際工作中經(jīng)常會(huì)發(fā)現(xiàn)用它會(huì)出現(xiàn)不同步更新的情況),只需在對(duì)應(yīng)目錄里運(yùn)行 mvn tomat:run命令,
然后就可在瀏覽器里運(yùn)行查看了.如果你想要更多的定制,可以在pom.xml文件里加下面配置:
01 02 03 04 org.codehaus.mojo 05 tomcat-maven-plugin 06 07 /web 08 9090 09 10 11 12 當(dāng)然你也可以在命令里加參數(shù)來(lái)實(shí)現(xiàn)特定的功能,
下面幾個(gè)比較常用:
1. 跳過(guò)測(cè)試:-Dmaven.test.skip(=true)
2. 指定端口:-Dmaven.tomcat.port=9090
3. 忽略測(cè)試失敗:-Dmaven.test.failure.ignore=true 當(dāng)然,如果你的其它關(guān)聯(lián)項(xiàng)目有過(guò)更新的話,一定要在項(xiàng)目根目錄下運(yùn)行mvn clean install來(lái)執(zhí)行更新,再運(yùn)行mvn tomcat:run使改動(dòng)生效.
4. mvnDebug tomcat:run
這條命令主要用來(lái)遠(yuǎn)程測(cè)試,它會(huì)監(jiān)聽(tīng)遠(yuǎn)程測(cè)試用的8000端口,在eclipse里打開(kāi)遠(yuǎn)程測(cè)試后,它就會(huì)跑起來(lái)了,設(shè)斷點(diǎn),調(diào)試,一切都是這么簡(jiǎn)單.上面提到的那幾個(gè)參數(shù)在這里同樣適用.
5. mvn dependency:sources
故名思義,有了它,你就不用到處找源碼了,運(yùn)行一下,你項(xiàng)目里所依賴的jar包的源碼就都有了
Maven常用命令:
1. 創(chuàng)建Maven的普通java項(xiàng)目:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName
2. 創(chuàng)建Maven的Web項(xiàng)目:
mvn archetype:create -DgroupId=packageName -DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp
3. 編譯源代碼: mvn compile
4. 編譯測(cè)試代碼:mvn test-compile
5. 運(yùn)行測(cè)試:mvn test
6. 產(chǎn)生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安裝jar:mvn install
9. 清除產(chǎn)生的項(xiàng)目:mvn clean
10. 生成eclipse項(xiàng)目:mvn eclipse:eclipse
11. 生成idea項(xiàng)目:mvn idea:idea
12. 組合使用goal命令,如只打包不測(cè)試:mvn -Dtest package
13. 編譯測(cè)試的內(nèi)容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只測(cè)試而不編譯,也不測(cè)試編譯:mvn test -skipping compile -skipping test-compile
( -skipping 的靈活運(yùn)用,當(dāng)然也可以用于其他組合命令)
16. 清除eclipse的一些系統(tǒng)設(shè)置:mvn eclipse:clean
ps:
一般使用情況是這樣,首先通過(guò)cvs或svn下載代碼到本機(jī),然后執(zhí)行mvn eclipse:eclipse生成ecllipse項(xiàng)目文件,然后導(dǎo)入到eclipse就行了;修改代碼后執(zhí)行mvn compile或mvn test檢驗(yàn),也可以下載eclipse的maven插件。
mvn -version/-v 顯示版本信息 mvn archetype:generate 創(chuàng)建mvn項(xiàng)目 mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app 創(chuàng)建mvn項(xiàng)目 mvn package 生成target目錄,編譯、測(cè)試代碼,生成測(cè)試報(bào)告,生成jar/war文件 mvn jetty:run 運(yùn)行項(xiàng)目于jetty上, mvn compile 編譯 mvn test 編譯并測(cè)試 mvn clean 清空生成的文件 mvn site 生成項(xiàng)目相關(guān)信息的網(wǎng)站 mvn -Dwtpversion=1.0 eclipse:eclipse 生成Wtp插件的Web項(xiàng)目 mvn -Dwtpversion=1.0 eclipse:clean 清除Eclipse項(xiàng)目的配置信息(Web項(xiàng)目) mvn eclipse:eclipse 將項(xiàng)目轉(zhuǎn)化為Eclipse項(xiàng)目
在應(yīng)用程序用使用多個(gè)存儲(chǔ)庫(kù)
<repositories> <repository> <id>Ibiblio</id> <name>Ibiblio</name> <url>http://www.ibiblio.org/maven/</url> </repository> <repository> <id>PlanetMirror</id> <name>Planet Mirror</name> <url>http://public.planetmirror.com/pub/maven/</url> </repository> </repositories>
mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/
發(fā)布第三方Jar到本地庫(kù)中:
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DdownloadSources=true -DdownloadJavadocs=true mvn -e 顯示詳細(xì)錯(cuò)誤 信息. mvn validate 驗(yàn)證工程是否正確,所有需要的資源是否可用。 mvn test-compile 編譯項(xiàng)目測(cè)試代碼。 。 mvn integration-test 在集成測(cè)試可以運(yùn)行的環(huán)境中處理和發(fā)布包。 mvn verify 運(yùn)行任何檢查,驗(yàn)證包是否有效且達(dá)到質(zhì)量標(biāo)準(zhǔn)。 mvn generate-sources 產(chǎn)生應(yīng)用需要的任何額外的源代碼,如xdoclet。
總結(jié)
到此這篇關(guān)于maven命令大全的文章就介紹到這了,更多相關(guān)maven命令大全內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解基于深度學(xué)習(xí)的兩種信源信道聯(lián)合編碼
信源編碼是一個(gè)數(shù)據(jù)壓縮的過(guò)程,其目的是盡可能地將信源中的冗余度去掉;而信道編碼則是一個(gè)增加冗余的過(guò)程,通過(guò)適當(dāng)加入冗余度來(lái)達(dá)到抵抗信道噪聲,保護(hù)傳輸數(shù)據(jù)的目的。2021-05-05
詳解為什么現(xiàn)代系統(tǒng)需要一個(gè)新的編程模型
如今高要求的分布式系統(tǒng)的建造者遇到了不能完全由傳統(tǒng)的面向?qū)ο缶幊?OOP)模型解決的挑戰(zhàn),但這可以從Actor模型中獲益。2021-05-05
權(quán)限控制之粗粒度與細(xì)粒度概念及實(shí)現(xiàn)簡(jiǎn)單介紹
這篇文章主要介紹了權(quán)限控制之粗粒度與細(xì)粒度概念及實(shí)現(xiàn)簡(jiǎn)單介紹,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10
Scala函數(shù)式編程專題--函數(shù)思想介紹
這篇文章主要介紹了Scala函數(shù)式編程的的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06
Spark在Win10下的環(huán)境搭建過(guò)程
這篇文章主要介紹了Spark在Win10下的環(huán)境搭建過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04

