Maven常用命令
原文地址:https://www.cnblogs.com/wkrbky/p/6352188.html
Maven常用命令:
Maven庫:
http://repo2.maven.org/maven2/
Maven依賴查詢:
一,Maven常用命令:
1. 建立Maven的普通Java專案:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName
2. 建立Maven的Web專案:
mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp
3. 反向生成 maven 專案的骨架:
mvn archetype:generate
你是怎麼建立你的maven專案的?是不是像這樣:
mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common
如果你還再用的話,那你就out了,現代人都用mvn archetype:generate了,它將建立專案這件枯燥的事更加人性化,你再也不需要記那麼多的archetypeArtifactId,你只需輸入archetype:generate,剩下的就是做”選擇題”了.
cmd步驟:
縮寫寫法:
mvn archetype:generate -DgroupId=otowa.user.dao -DartifactId=user-dao -Dversion=0.01-SNAPSHOT
4. 編譯原始碼:
mvn compile
5. 編譯測試程式碼:
mvn test-compile
6. 執行測試:
mvn test
7. 產生site:
mvn site
8. 打包:
mvn package
9. 在本地Repository中安裝jar:
mvn install 例:installing D:\xxx\xx.jar to D:\xx\xxxx
10. 清除產生的專案:
mvn clean
11. 生成eclipse專案:
mvn eclipse:eclipse
12. 生成idea專案:
mvn idea:idea
13. 組合使用goal命令,如只打包不測試:
mvn -Dtest package
14. 編譯測試的內容:
mvn test-compile
15. 只打jar包:
mvn jar:jar
16. 只測試而不編譯,也不測試編譯:
mvn test -skipping compile -skipping test-compile ( -skipping 的靈活運用,當然也可以用於其他組合命令)
17. 清除eclipse的一些系統設定:
mvn eclipse:clean
18.檢視當前專案已被解析的依賴:
mvn dependency:list
19.上傳到私服:
mvn deploy
20.強制檢查更新,由於快照版本的更新策略(一天更新幾次、隔段時間更新一次)存在,如果想強制更新就會用到此命令:
mvn clean install-U
21. 原始碼打包:
mvn source:jar 或 mvn source:jar-no-fork
mvn compile與mvn install、mvn deploy的區別
- mvn compile,編譯類檔案
- mvn install,包含mvn compile,mvn package,然後上傳到本地倉庫
- mvn deploy,包含mvn install,然後,上傳到私服
二,PS:
一般使用情況是這樣,首先通過cvs或svn下載程式碼到本機,然後執行mvn eclipse:eclipse生成ecllipse專案檔案,然後匯入到eclipse就行了;修改程式碼後執行mvn compile或mvn test檢驗,也可以下載eclipse的maven外掛。
1.顯示版本資訊 :
mvn -version/-v
2.建立mvn專案:
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app
3.生成target目錄,編譯、測試程式碼,生成測試報告,生成jar/war檔案 :
mvn package
4.執行專案於jetty上:
mvn jetty:run
5.顯示詳細錯誤 資訊:
mvn -e
6.驗證工程是否正確,所有需要的資源是否可用:
mvn validate
7.在整合測試可以執行的環境中處理和釋出包:
mvn integration-test
8.執行任何檢查,驗證包是否有效且達到質量標準:
mvn verify
9.產生應用需要的任何額外的原始碼,如xdoclet :
mvn generate-sources
10.使用 help 外掛的 describe 目標來輸出 Maven Help 外掛的資訊:
mvn help:describe -Dplugin=help
11.使用Help 外掛輸出完整的帶有引數的目標列 :
mvn help:describe -Dplugin=help -Dfull
12.獲取單個目標的資訊,設定 mojo 引數和 plugin 引數。此命令列出了Compiler 外掛的compile 目標的所有資訊 :
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull
13.列出所有 Maven Exec 外掛可用的目標:
mvn help:describe -Dplugin=exec -Dfull
14.看這個“有效的 (effective)”POM,它暴露了 Maven的預設設定 :
mvn help:effective-pom
15.想要檢視完整的依賴蹤跡,包含那些因為衝突或者其它原因而被拒絕引入的構件,開啟 Maven 的除錯標記執行 :
mvn install -X
16.給任何目標新增maven.test.skip 屬性就能跳過測試 :
mvn install -Dmaven.test.skip=true
17.構建裝配Maven Assembly 外掛是一個用來建立你應用程式特有分發包的外掛 :
mvn install assembly:assembly
18. 生成Wtp外掛的Web專案 :
mvn -Dwtpversion=1.0 eclipse:eclipse
19. 清除Eclipse專案的配置資訊(Web專案) :
mvn -Dwtpversion=1.0 eclipse:clean
20. 將專案轉化為Eclipse專案 :
mvn eclipse:eclipse
21.mvn exec命令可以執行專案中的main函式 :
首先需要編譯java工程:mvn compile 不存在引數的情況下:mvn exec:java -Dexec.mainClass="***.Main" 存在引數:mvn exec:java -Dexec.mainClass="***.Main" -Dexec.args="arg0 arg1 arg2" 指定執行時庫:mvn exec:java -Dexec.mainClass="***.Main" -Dexec.classpathScope=runtime
22.打印出已解決依賴的列表 :
mvn dependency:resolve
23.列印整個依賴樹 :
mvn dependency:tree
在應用程式用使用多個儲存庫
<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/
釋出第三方Jar到本地庫中
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 help:describe
你是否因為記不清某個外掛有哪些goal而痛苦過,你是否因為想不起某個goal有哪些引數而苦惱,那就試試這個命令吧,它會告訴你一切的.
引數: 1. -Dplugin=pluginName 2. -Dgoal(或-Dmojo)=goalName:與-Dplugin一起使用,它會列出某個外掛的goal資訊,
如果嫌不夠詳細,同樣可以加-Ddetail.(注:一個外掛goal也被認為是一個 “Mojo”)
下面大家就執行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!
mvn tomcat:run
用了maven後,你再也不需要用eclipse裡的tomcat來執行web專案(實際工作中經常會發現用它會出現不同步更新的情況),只需在對應目錄裡執行 mvn tomat:run命令,然後就可在瀏覽器裡執行查看了.如果你想要更多的定製,可以在pom.xml檔案里加下面配置:
01 02 03 04 org.codehaus.mojo 05 tomcat-maven-plugin 06 07 /web 08 9090 09 10 11 12 當然你也可以在命令里加引數來實現特定的功能,
下面幾個比較常用:
1>. 跳過測試:-Dmaven.test.skip(=true)
2>. 指定埠:-Dmaven.tomcat.port=9090
3>. 忽略測試失敗:-Dmaven.test.failure.ignore=true 當然,如果你的其它關聯專案有過更新的話,一定要在專案根目錄下執行mvn clean install來執行更新,再執行mvn tomcat:run使改動生效.
mvnDebug tomcat:run
這條命令主要用來遠端測試,它會監聽遠端測試用的8000埠,在eclipse裡開啟遠端測試後,它就會跑起來了,設斷點,除錯,一切都是這麼簡單.上面提到的那幾個引數在這裡同樣適用.
mvn dependency:sources
故名思義,有了它,你就不用到處找原始碼了,執行一下,你專案裡所依賴的jar包的原始碼就都有了