maven系列--maven常用命令
下一篇部落格我會講解用eclipse的m2外掛來使用maven,這裡先大概的瞭解下maven常用的命令。之後我在詳細整理maven的生命週期,到時候會細緻的講解下這些指令應該要怎麼使,maven都幫我們做了什麼。
maven常用的命令有如下:
mvn compile 編譯原始碼
mvn deploy 釋出專案
mvn test-compile 編譯測試原始碼
mvn test 執行應用程式中的單元測試
mvn site 生成專案相關資訊的網站
mvn clean 清除專案目錄中的生成結果
mvn package 根據專案生成的jar
mvn install 在本地Repository中安裝jar
mvn eclipse:eclipse 生成eclipse專案檔案
mvn jetty:run 啟動jetty服務
mvn tomcat:run 啟動tomcat服務
mvn clean package -Dmaven.test.skip=true:清除以前的包後重新打包,跳過測試類。
其實在實際的maven使用過程中,上面的指令用到最多的就是clean,package,install。我個人喜歡在每次package和install的時候就加上clean,確保在每次打包或者安裝jar包前先清除了快取等等。關於使用maven來跑tomcat,我自己試了一下,太不好使了。我本人不推薦使用。一下還有幾個有點意思的命令,我們應該瞭解下。
mvn tomcat:run
用了maven後,你再也不需要用eclipse裡的tomcat來執行web專案(實際工作中經常會發現用它會出現不同步更新的情況),只需在對應目錄(如/ryanote)裡執行 mvn tomat:run命令,然後就可在瀏覽器裡執行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 當然你也可以在命令里加引數來實現特定的功能,下面幾個比較常用: 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 help:describe
你是否因為記不清某個外掛有哪些goal而痛苦過,你是否因為想不起某個goal有哪些引數而苦惱,那就試試這個命令吧,它會告訴你一切的. 引數: 1. -Dplugin=pluginName 2. -Dgoal(或-Dmojo)=goalName:與-Dplugin一起使用,它會列出某個外掛的goal資訊,如果嫌不夠詳細,同樣可以加-Ddetail.(注:一個外掛goal也被認為是一個 “Mojo”) 下面大家就執行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!
mvn archetype:generate
你是怎麼建立你的maven專案的?是不是像這樣:mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common,如果你還再用的話,那你就out了,現代人都用mvn archetype:generate了,它將建立專案這件枯燥的事更加人性化,你再也不需要記那麼多的archetypeArtifactId,你只需輸入archetype:generate,剩下的就是做”選擇題”了.
mvn dependency:sources
故名思義,有了它,你就不用到處找原始碼了,執行一下,你專案裡所依賴的jar包的原始碼就都有了。我自己試了下,不好使,我主要是想用來下載開源框架的原始碼呢,但是用這個命令下載了一個jar包,我解壓縮以後不能用eclipse匯入,還不如用反編譯直接看呢。不用多管了,上面這幾個瞭解下就好了。