1. 程式人生 > >maven常用命令集合(收藏大全)

maven常用命令集合(收藏大全)

update style 聯網 valid -o 轉化 mpi 查看 追隨者

抽了點時間,整理了一些maven常用命令參數,以便參考;參考了maven官網和網上其他一些maven追隨者的文件,不在此一一列舉,但表示感謝!

技術分享圖片技術分享圖片

mvn命令參數

mvn -v, --version 顯示版本信息;

mvn -V, --show-version 顯示版本信息後繼續執行Maven其他目標;

mvn -h, --help 顯示幫助信息;

mvn -e, --errors 控制Maven的日誌級別,產生執行錯誤相關消息;
mvn -X, --debug 控制Maven的日誌級別,產生執行調試信息;
mvn -q, --quiet 控制Maven的日誌級別,僅僅顯示錯誤;

mvn -Pxxx 激活 id 為 xxx的profile (如有多個,用逗號隔開);

mvn -Dxxx=yyy 指定java全局屬性;

mvn -o , --offline 運行offline模式,不聯網更新依賴;

mvn -N, --non-recursive 僅在當前項目模塊執行命令,不構建子模塊;

mvn -pl, --module_name 在指定模塊上執行命令;

mvn -ff, --fail-fast 遇到構建失敗就直接退出;

mvn -fn, --fail-never 無論項目結果如何,構建從不失敗;

mvn -fae, --fail-at-end 僅影響構建結果,允許不受影響的構建繼續;

mvn -C, --strict-checksums 如果校驗碼不匹配的話,構建失敗;
mvn -c, --lax-checksums 如果校驗碼不匹配的話,產生告警;

mvn -U 強制更新snapshot類型的插件或依賴庫(否則maven一天只會更新一次snapshot依賴);

mvn -npu, --no-plugin-updates 對任何相關的註冊插件,不進行最新檢查(使用該選項使Maven表現出穩定行為,該穩定行為基於本地倉庫當前可用的所有插件版本);

mvn -cpu, --check-plugin-updates 對任何相關的註冊插件,強制進行最新檢查(即使項目POM裏明確規定了Maven插件版本,還是會強制更新);

mvn -up, --update-plugins [mvn -cpu]的同義詞;

mvn -B, --batch-mode 在非交互(批處理)模式下運行(該模式下,當Mven需要輸入時,它不會停下來接受用戶的輸入,而是使用合理的默認值);

mvn -f, --file <file> 強制使用備用的POM文件;
mvn -s, --settings <arg> 用戶配置文件的備用路徑;
mvn -gs, --global-settings <file> 全局配置文件的備用路徑;

mvn -emp, --encrypt-master-password <password> 加密主安全密碼,存儲到Maven settings文件裏;

mvn -ep, --encrypt-password <password> 加密服務器密碼,存儲到Maven settings文件裏;

mvn -npr, --no-plugin-registry 對插件版本不使用~/.m2/plugin-registry.xml(插件註冊表)裏的配置;

?

mvn常用命令

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. 編譯源代碼: mvn compile?
4. 編譯測試代碼:mvn test-compile????
5. 運行測試:mvn test???
6. 產生site:mvn site???
7. 打包:mvn package???
8. 在本地Repository中安裝jar:mvn install?
9. 清除產生的項目:mvn clean???
10. 生成eclipse項目:mvn eclipse:eclipse??
11. 生成idea項目:mvn idea:idea??
12. 組合使用goal命令,如只打包不測試:mvn -Dtest package???
13. 編譯測試的內容:mvn test-compile??
14. 只打jar包: mvn jar:jar??
15. 只測試而不編譯,也不測試編譯:mvn test -skipping compile -skipping test-compile?
????? ( -skipping 的靈活運用,當然也可以用於其他組合命令)??
16. 清除eclipse的一些系統設置:mvn eclipse:clean??

ps:?

一般使用情況是這樣,首先通過cvs或svn下載代碼到本機,然後執行mvn eclipse:eclipse生成ecllipse項目文件,然後導入到eclipse就行了;修改代碼後執行mvn compile或mvn test檢驗,也可以下載eclipse的maven插件。?

mvn -version/-v? 顯示版本信息?
mvn archetype:generate??????? 創建mvn項目?
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app?? 創建mvn項目?

mvn package??????????? 生成target目錄,編譯、測試代碼,生成測試報告,生成jar/war文件?
mvn jetty:run??????????? 運行項目於jetty上,?
mvn compile??????????????????? 編譯?
mvn test??????????????????? 編譯並測試?
mvn clean??????????????????? 清空生成的文件?
mvn site??????????????????? 生成項目相關信息的網站?
mvn -Dwtpversion=1.0 eclipse:eclipse??????? 生成Wtp插件的Web項目?
mvn -Dwtpversion=1.0 eclipse:clean??????? 清除Eclipse項目的配置信息(Web項目)?
mvn eclipse:eclipse? ? 將項目轉化為Eclipse項目?

在應用程序用使用多個存儲庫?
<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 -e??????????? 顯示詳細錯誤 信息.?
mvn validate??????? 驗證工程是否正確,所有需要的資源是否可用。?
mvn test-compile??? 編譯項目測試代碼。 。?
mvn integration-test???? 在集成測試可以運行的環境中處理和發布包。?
mvn verify??????? 運行任何檢查,驗證包是否有效且達到質量標準。?????
mvn generate-sources??? 產生應用需要的任何額外的源代碼,如xdoclet。?
技術分享圖片技術分享圖片

mvn常用命令2

mvn -v 顯示版本?
mvn help:describe -Dplugin=help 使用 help 插件的? describe 目標來輸出 Maven Help 插件的信息。?
mvn help:describe -Dplugin=help -Dfull 使用Help 插件輸出完整的帶有參數的目標列?

mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 獲取單個目標的信息,設置? mojo 參數和? plugin 參數。此命令列出了Compiler 插件的compile 目標的所有信息?
mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 插件可用的目標?
mvn help:effective-pom 看這個"有效的 (effective)"POM,它暴露了 Maven的默認設置?

mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 創建Maven的普通java項目,在命令行使用Maven Archetype 插件?
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 插件讓我們能夠在不往 classpath 載入適當的依賴的情況下,運行這個程序?
mvn dependency:resolve 打印出已解決依賴的列表?
mvn dependency:tree 打印整個依賴樹?

mvn install -X 想要查看完整的依賴蹤跡,包含那些因為沖突或者其它原因而被拒絕引入的構件,打開 Maven 的調試標記運行?
mvn install -Dmaven.test.skip=true 給任何目標添加maven.test.skip 屬性就能跳過測試?
mvn install assembly:assembly 構建裝配Maven Assembly 插件是一個用來創建你應用程序特有分發包的插件?

mvn jetty:run 調用 Jetty 插件的 Run 目標在 Jetty Servlet 容器中啟動 web 應用?
mvn compile 編譯你的項目?
mvn clean install 刪除再編譯?

mvn hibernate3:hbm2ddl 使用 Hibernate3 插件構造數據庫

maven常用命令集合(收藏大全)