------------------------------maven3經常使用命令---------------------------java
一、經常使用命令web
1)建立一個Projectapache
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
mvn archetype:generate 固定格式bash
-DgroupId 組織標識(包名)mvc
-DartifactId 項目名稱app
-DarchetypeArtifactId 指定ArchetypeId,maven-archetype-quickstart,建立一個Java Project;maven-archetype-webapp,建立一個Web Projecteclipse
-DinteractiveMode 是否使用交互模式webapp
2)編譯源代碼jsp
mvn compile
3)編譯測試代碼maven
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說明
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.luxh.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>my-app</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
節點元素說明:
<project> pom文件的頂級節點 <modelVersion> object model版本,對Maven2和Maven3來講,只能是4.0.0 <groupId> 項目建立組織的標識符,通常是域名的倒寫 <artifactId> 定義了項目在所屬組織的標識符下的惟一標識,一個組織下能夠有多個項目 <packaging> 打包的方式,有jar、war、ear等 <version> 當前項目的版本,SNAPSHOT,表示是快照版本,在開發中 <name> 項目的名稱 <url> 項目的地址 <dependencies> 構建項目依賴的jar <description> 項目的描述
其中由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。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.luxh.app</groupId> <artifactId>my-web-app</artifactId> <packaging>war</packaging><!--web項目默認打包方式 war--> <version>1.0-SNAPSHOT</version> <name>my-web-app Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>my-web-app</finalName> <pluginManagement> <!--配置Jetty--> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> </plugin> </plugins> </pluginManagement> </build> </project>
而後執行:mvn jetty:run 就能夠在8080端口上訪問應用了。