maven常用的命令(window控制台和linux命令是一致的)
六個必須掌握的maven命令:
1. mvn help:describe 你是否因?yàn)橛洸磺迥硞€插件有哪些goal而痛苦過,你是否因?yàn)橄氩黄鹉硞€goal有哪些參數(shù)而苦惱,那就試試這個命令吧,它會告訴你一切的. 參數(shù): 1. -Dplugin=pluginName 2. -Dgoal(或-Dmojo)=goalName:與-Dplugin一起使用,它會列出某個插件的goal信息,如果嫌不夠詳細(xì),同樣可以加-Ddetail.(注:一個插件goal也被認(rèn)為是一個 “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來運(yùn)行web項(xiàng)目(實(shí)際工作中經(jīng)常會發(fā)現(xiàn)用它會出現(xiàn)不同步更新的情況),只需在對應(yīng)目錄(如/ryanote)里運(yùn)行 mvn tomat:run命令,然后就可在瀏覽器里運(yùn)行http://localhost:8080/ryanote查看了.如果你想要更多的定制,可以在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ù)來實(shí)現(xiàn)特定的功能,下面幾個比較常用: 1. 跳過測試:-Dmaven.test.skip(=true) 2. 指定端口:-Dmaven.tomcat.port=9090 3. 忽略測試失敗:-Dmaven.test.failure.ignore=true 當(dāng)然,如果你的其它關(guān)聯(lián)項(xiàng)目有過更新的話,一定要在項(xiàng)目根目錄下運(yùn)行mvn clean install來執(zhí)行更新,再運(yùn)行mvn tomcat:run使改動生效.
4. mvnDebug tomcat:run 這條命令主要用來遠(yuǎn)程測試,它會監(jiān)聽遠(yuǎn)程測試用的8000端口,在eclipse里打開遠(yuǎn)程測試后,它就會跑起來了,設(shè)斷點(diǎn),調(diào)試,一切都是這么簡單.上面提到的那幾個參數(shù)在這里同樣適用.
5. mvn dependency:sources 故名思義,有了它,你就不用到處找源碼了,運(yùn)行一下,你項(xiàng)目里所依賴的jar包的源碼就都有了
6. mvn clean package ?進(jìn)入源碼目錄,運(yùn)行該命令,生成jar包
其他常用命令:
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. 編譯測試代碼:mvn test-compile ? ?
5. 運(yùn)行測試: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命令,如只打包不測試:mvn -Dtest package ??
13. 編譯測試的內(nèi)容:mvn test-compile ?
14. 只打jar包: mvn jar:jar ?
15. 只測試而不編譯,也不測試編譯:mvn test -skipping compile -skipping test-compile?
? ? ? ( -skipping 的靈活運(yùn)用,當(dāng)然也可以用于其他組合命令) ?
16. 清除eclipse的一些系統(tǒng)設(shè)置:mvn eclipse:clean
package是把jar打到本項(xiàng)目的target下,而install時把target下的jar安裝到本地倉庫,供其他項(xiàng)目使用.
| 命令參數(shù) | 備注 |
| mvn -v | --version?顯示版本信息; |
| mvn -V | --show-version 顯示版本信息后繼續(xù)執(zhí)行Maven其他目標(biāo); |
| mvn -h | --help 顯示幫助信息; |
| mvn -e | --errors 控制Maven的日志級別,產(chǎn)生執(zhí)行錯誤相關(guān)消息; |
| mvn -X | --debug 控制Maven的日志級別,產(chǎn)生執(zhí)行調(diào)試信息; |
| mvn -q | --quiet 控制Maven的日志級別,僅僅顯示錯誤; |
| mvn -Pxxx? | 激活 id 為 xxx的profile (如有多個,用逗號隔開); |
| mvn -Dxxx=yyy | ?指定Java全局屬性; |
| mvn -o | --offline 運(yùn)行offline模式,不聯(lián)網(wǎng)更新依賴; |
| mvn -N | --non-recursive 僅在當(dāng)前項(xiàng)目模塊執(zhí)行命令,不構(gòu)建子模塊; |
| mvn -pl | --module_name 在指定模塊上執(zhí)行命令; |
| mvn -ff | --fail-fast 遇到構(gòu)建失敗就直接退出; |
| mvn -fn | --fail-never 無論項(xiàng)目結(jié)果如何,構(gòu)建從不失敗; |
| mvn -fae | --fail-at-end 僅影響構(gòu)建結(jié)果,允許不受影響的構(gòu)建繼續(xù); |
| mvn -C | --strict-checksums 如果校驗(yàn)碼不匹配的話,構(gòu)建失敗; |
| mvn -c | --lax-checksums 如果校驗(yàn)碼不匹配的話,產(chǎn)生告警; |
| mvn -U | 強(qiáng)制更新snapshot類型的插件或依賴庫(否則maven一天只會更新一次snapshot依賴); |
| mvn -npu | --no-plugin-s 對任何相關(guān)的注冊插件,不進(jìn)行最新檢查(使用該選項(xiàng)使Maven表現(xiàn)出穩(wěn)定行為,該穩(wěn)定行為基于本地倉庫當(dāng)前可用的所有插件版本); |
| mvn -cpu | --check-plugin-updates 對任何相關(guān)的注冊插件,強(qiáng)制進(jìn)行最新檢查(即使項(xiàng)目POM里明確規(guī)定了Maven插件版本,還是會強(qiáng)制更新); |
| mvn -up | --update-plugins [mvn -cpu]的同義詞; |
| mvn -B | --batch-mode 在非交互(批處理)模式下運(yùn)行(該模式下,當(dāng)Mven需要輸入時,它不會停下來接受用戶的輸入,而是使用合理的默認(rèn)值); |
| mvn -f | --file <file> 強(qiáng)制使用備用的POM文件; |
| mvn -s | --settings <arg> 用戶配置文件的備用路徑; |
| mvn -gs | --global-settings <file> 全局配置文件的備用路徑; |
| mvn -emp | --encrypt-master-password <password> 加密主安全密碼,存儲到Maven settings文件里; |
| mvn -ep | --encrypt-password <password> 加密服務(wù)器密碼,存儲到Maven settings文件里; |
| mvn -npr | --no-plugin-registry 對插件版本不使用~/.m2/plugin-registry.xml(插件注冊表)里的配置; |
總結(jié)
以上是生活随笔為你收集整理的maven常用的命令(window控制台和linux命令是一致的)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在SEO优化中,高质量原创文章怎么写
- 下一篇: linux 其他常用命令