原文: http://blog.csdn.net/edward0830ly/article/details/8748986 一、經常使用命令 1)建立一個Project mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false mvn archetype:generate 固定格式 -DgroupId 組織標識(包名) -DartifactId 項目名稱 -DarchetypeArtifactId 指定ArchetypeId,maven-archetype-quickstart,建立一個Java Project;maven-archetype-webapp,建立一個Web Project -DinteractiveMode 是否使用交互模式 2)編譯源代碼 mvn compile 3)編譯測試代碼 mvn test-compile 4)清空 mvn clean 5)運行測試 mvn test 6)生產站點目錄並打包 mvn site-deploy 7)安裝當前工程的輸出文件到本地倉庫 mvn install 8)打包 mvn package 9)先清除再打包 mvn clean package 10)打成jar包 mvn jar:jar 11)生成eclipse項目 mvn eclipse:eclipse 12)查看幫助信息 mvn help:help 13)查看maven有哪些項目類型分類 mvn archetype:generate -DarchetypeCatalog=intrenal 二、標準的Maven項目結構 src/main/java 存放項目的源代碼 src/test/java 存放測試源代碼 若是要存放一些配置文件,能夠再創建一個目錄src/main/resource存放,如存放log4j.properties等 ------------------------------java項目搭建--------------------------- 使用Maven構建一個簡單的Java項目 一、進入命令行,執行下面的語句。 mvn archetype:generate -DgroupId=cn.luxh.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 執行完成後,能夠看到以下結果: BUILD SUCCESS,當在前用戶目錄下(即C:\Documents and Settings\Administrator)下構建了一個Java Project叫作my-app。 二、進入my-app目錄,能夠看到有一個pom.xml文件,這個文件是Maven的核心。 1)pom意思就是project object model。 2)pom.xml包含了項目構建的信息,包括項目的信息、項目的依賴等。 3)pom.xml文件是能夠繼承的,大型項目中,子模塊的pom.xml通常都會繼承於父模塊的pom.xml 4)剛構建的pom.xml說明 複製代碼 4.0.0 cn.luxh.app my-app jar 1.0-SNAPSHOT my-app http://maven.apache.org junit junit 3.8.1 test 複製代碼 節點元素說明: 複製代碼 pom文件的頂級節點 object model版本,對Maven2和Maven3來講,只能是4.0.0 項目建立組織的標識符,通常是域名的倒寫 定義了項目在所屬組織的標識符下的惟一標識,一個組織下能夠有多個項目 打包的方式,有jar、war、ear等 當前項目的版本,SNAPSHOT,表示是快照版本,在開發中 項目的名稱 項目的地址 構建項目依賴的jar 項目的描述 複製代碼 其中由groupId、artifactId和version惟一的肯定了一個項目座標 三、構建的my-app項目結構以下 1)編譯源程序,進入命令行,切換到my-app目錄,執行命令:mvn clean compile 編譯成功,在my-app目錄下多出一個target目錄,target\classes裏面存放的就是編譯後的class文件。 2)測試,進入命令行,切換到my-app目錄,執行命令:mvc clean test 測試成功,在my-app\target目錄下會有一個test-classes目錄,存放的就是測試代碼的class文件。 3)打包,進入命令行,切換到my-app目錄,執行命令:mvc clean package,執行打包命令前,會先執行編譯和測試命令 構建成功後,會再target目錄下生成my-app-1.0-SNAPSHOT.jar包。 4)安裝,進入命令行,切換到my-app目錄,執行命令:mvc clean install ,執行安裝命令前,會先執行編譯、測試、打包命令 構建成功,就會將項目的jar包安裝到本地倉庫。 5)運行jar包,進入命令行,切換到my-app目錄,執行命令:java -cp target\my-app-1.0-SNAPSHOT.jar cn.luxh.app.App ------------------------------web項目搭建--------------------------- 一、進入命令行,執行: mvn archetype:generate -DgroupId=cn.luxh.app -DartifactId=my-web-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractivMode=false 出現一些版本號確認等直接回車就行,構建成功出現下面的提示。 在當前用戶目錄下,生成的web項目目錄結構以下: 二、固然這個空的項目,只有一個index.jsp頁面,打包發佈運行。 1)在命令行切換到my-web-app目錄,執行:mvn package,構建成功後,my-web-app目錄下多了一個target目錄,在這個目錄下會打包成my-web-app.war,把這個war包拷貝到Tomcat的發佈目錄下就能夠運行了。 2)集成Jetty發佈運行,須要配置pom.xml。 複製代碼 4.0.0 cn.luxh.app my-web-app warjava
1.0-SNAPSHOT my-web-app Maven Webapp http://maven.apache.org junit junit 3.8.1 test my-web-appweb
org.mortbay.jetty maven-jetty-plugin 而後執行:mvn jetty:run 就能夠在8080端口 加項目名 就能夠訪問應用了。apache