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就可以访问项目了。
参考来源:
让我们一起遨游在代码的海洋里!