1、常用命令
mvn archetype:generate--構建項目 mvn clean--項目清理 mvn test--項目單元測試的編譯 mvn compile--項目源代碼的編譯 mvn package--項目打包 mvn install--發布項目提交到本地倉庫 mvn deploy--發布項目到 mvn jetty:run--啟動jetty容器 mvn eclipse:clean--清除eclipse的一些系統設置 mvn eclipse:eclipse--生成eclipse項目文件 mvn idea:clean--清除idea的一些系統設置 mvn idea:idea--生成idea項目文件 mvn dependency:tree--查看依賴樹 mvn assembly:assembly--需要配assembly插件,可用於把指定文件進行打包 tar.gz,zip包 //指定maven參數: -DskipTests=true--默認不走單元測試 -P local--選擇資源文件類型 local,需在pom開啟資源配置
提示1:關於maven的參數,在參數前面的大寫D是傳遞參數的符號,后面才是參數的真正名稱,這一說法可以參考《maven實戰》一書,里面有詳細的解釋。鏈接:https://item.jd.com/10476794.html
提示2:個人理解,maven其實都是以插件的機制組合而成的,比如archetype,eclipse,jetty,idea這些,每一個都代表了一個插件。比如archetype的用法為什么用grenrate,還有參數要傳遞生成,直接搜索:maven archetype plugin。
提示3:maven執行時,是有順序的,比如mvn clean test compile,如果單獨運行mvn compile時,默認會執行clean,test命令。
2、常用搭建項目骨架的命令
生成application項目:mvn archetype:generate -DarchetypeCatalog=internal -DarchetypeArtifactId=maven-archetype-quickstart 生成web項目:mvn archetype:generate -DarchetypeCatalog=internal -DarchetypeArtifactId=maven-archetype-webapp
提示1:如上面解釋的,archetype實質上一個插件,那么我們可以直接搜索這插件的用法,官方鏈接:http://maven.apache.org/guides/introduction/introduction-to-archetypes.html,在頁面的右側只要有超鏈接的都可以點進去看其它擴展說明。
提示2:而對於maven-archetype-quickstart這些參數,也是官網提供的,參考:http://maven.apache.org/archetypes/index.html,里面明確給出了示例和創建文件夾的意思代表的是什么。
上面的命令執行時,會提示輸入groupid,artifactid這些信息,依次輸入即可完成。
比如我們要默認生成一個項目骨架時,可以是如下命令:
mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=(項目組)com.jsoft.testproject -DartifactId=(項目名/模塊名)testmaven -Dversion=(版本號)1.0-SNAPSHOT -Dpackage=(包名)testpackage
提示1:以上創建是以maven-archetype-quickstart為主的項目。
提示2:同樣,經過測試,無論是新建的是quickstart項目還是webapp項目,只要文件夾新建對了即可。
3、maven項目的文件夾說明
一個標准的maven項目,以quickstart為主的文件夾目錄結構如下:
而webapp項目的目錄結構如下:
請注意:webapp項目上會在main文件夾上多出一個webapp的文件夾,且這個webapp文件夾不會在test文件夾上出現,也就說,單元測試是測試邏輯代碼。
而如果使用maven命令新建webapp項目時,默認是不帶test文件夾的,test文件夾可以后期新建,對於為什么不新建,其實是官方默認沒有。參考:
http://maven.apache.org/archetypes/maven-archetype-webapp/
http://stackoverflow.com/questions/3042518/maven-archetype-webapp-eclipse-problem其中這里也做了說明,對於test文件夾自己去新建效果也是一致的。
Maven官方最標准的目錄布局:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
以上內容參考:http://yanan0628.iteye.com/blog/2270344
4、maven在eclipse中的應用
在最新版本的eclipse中,已經默認集成maven的插件,可以非常方便的集成各種命令。在eclipse示意圖如下:
比如要執行一個mvn compile的命令,操作為:Maven build...,注意:這里Maven build為執行最近一次的命令,所以千萬不要搞錯;然后輸入compile
出現如上構建,證明已經成功。
而針對webapp項目,可以使用Run as Server進行測試,如果你的項目不能運行,那么肯定是沒有配置成功導致的。
很多時候我們已經不用tomcat進行測試了,轉而使用更快捷更輕量級的jetty進行操作,比如:mvn jetty:run。