1、mvn package
此命令包含一系列過程:validate-->compile-->test-->package
Maven根據pom文件里packaging的配置,決定是生成jar文件還是war文件,並放到target目錄下。
此命令需要在項目的根目錄(也就是pom.xml文件所在的目錄)下運行,Maven才知道打包哪個項目。
2、mvn clean
每次更新項目的內容,Maven是不會自動編譯更新的,所以target目錄下的內容是緩存的,每次部署前都需要把最新數據更新到target目錄下。
當運行mvn clean后,target下的內容都會被刪除,然后生成最新的數據。
如果要把項目部署到生產環境,強烈建議用mvn clean package命令,確保部署的是最新的內容。
3、mvn test
該命令執行后會去運行所有的單元測試,如果想要單獨運行某個測試類里的單元測試,可用如下命令:mvn -Dtest=TestApp1 test
4、mvn clean install
該命令會把你的項目打包並放到本地倉庫,可以別人就可以引用了。
此命令包含以下過程:validate-->compile-->test-->package-->integration-test-->verify-->install。
假如你的項目的pom.xml文件如下:
1 <project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 4 http://maven.apache.org/maven-v4_0_0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 <groupId>com.yanyd.core</groupId> 7 <artifactId>yanyd-core</artifactId> 8 <packaging>jar</packaging> 9 <version>99</version> 10 <name>yanyd-core</name> 11 <url>http://maven.apache.org</url> 12 <dependencies> 13 <dependency> 14 <groupId>junit</groupId> 15 <artifactId>junit</artifactId> 16 <version>4.4</version> 17 <scope>test</scope> 18 </dependency> 19 </dependencies> 20 </project>
那么Maven就會把你的項目打包成yanyd-core-99.jar並放入本地倉庫,其他開發者就可以按如下方式引用你部署的jar文件:
1 <dependency> 2 <groupId>com.yanyd.core</groupId> 3 <artifactId>yanyd-core</artifactId> 4 <version>99</version> 5 </dependency>
5、mvn site
該命令會為你的項目生產一個文檔站點,介紹你的項目,存儲位置為target/site,該命令可能只有開源項目有用吧,畢竟平常沒人會去關注你的項目信息。
6、mvn site:deploy
該命令會把文檔站點部署到服務器。
參考此文:http://www.mkyong.com/maven/how-to-deploy-site-with-mvn-site-deploy-webdav-example/
7、mvn tomcat6/tomcat7:deploy
通過tomcat部署插件把項目部署到服務器。
1 Tomcat 7 2 Deploy URL = http://localhost:8080/manager/text 3 Command = mvn tomcat7:deploy 4 Tomcat 6 5 Deploy URL = http://localhost:8080/manager/ 6 Command = mvn tomcat6:deploy
接下來演示如何部署到Tomcat7
7.1、配置tomcat認證
在tomcat-users.xml里配置連個角色和一個賬號,如下:
1 <?xml version='1.0' encoding='utf-8'?> 2 <tomcat-users> 3 4 <role rolename="manager-gui"/> 5 <role rolename="manager-script"/> 6 <user username="tomcat7" password="tomcat7" roles="manager-gui,manager-script" /> 7 8 </tomcat-users>
7.2、配置Maven認證
在Maven的配置文件settings.xml里配置上面Tomcat用戶,以后Maven將會用該賬號登錄Tomcat服務器。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <settings ...> 3 <servers> 4 5 <server> 6 <id>Tomcat7Server</id> 7 <username>tomcat7</username> 8 <password>tomcat7</password> 9 </server> 10 11 </servers> 12 </settings>
7.3、在pom.xml里配置Tomcat部署插件
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <server>Tomcat7Server</server> <path>/CounterWebApp</path> </configuration> </plugin>
7.4、部署到服務器
mvn tomcat7:deploy --部署項目
mvn tomcat7:redeploy --重新部署項目
mvn tomcat7:undeploy --撤銷已經部署的項目
當部署命令執行的時候,Maven就會根據settings.xml里配置的Tomcat服務器信息去登錄相應的服務器,然后通過http://localhost:8080/manager/text把CounterWebApp項目部署上去,然后通過http://localhost:8080/CounterWebApp就可以訪問項目了。
本博客的所有Maven文章都是參考http://www.mkyong.com/,感謝作者的付出。