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文件如下:

 <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>com.yanyd.core</groupId>
<artifactId>yanyd-core</artifactId>
<packaging>jar</packaging>
<version>99</version>
<name>yanyd-core</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

那么Maven就会把你的项目打包成yanyd-core-99.jar并放入本地仓库,其他开发者就可以按如下方式引用你部署的jar文件:

 <dependency>
<groupId>com.yanyd.core</groupId>
<artifactId>yanyd-core</artifactId>
<version>99</version>
</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部署插件把项目部署到服务器。

 Tomcat 7
Deploy URL = http://localhost:8080/manager/text
Command = mvn tomcat7:deploy
Tomcat 6
Deploy URL = http://localhost:8080/manager/
Command = mvn tomcat6:deploy

接下来演示如何部署到Tomcat7

7.1、配置tomcat认证

在tomcat-users.xml里配置连个角色和一个账号,如下:

 <?xml version='1.0' encoding='utf-8'?>
<tomcat-users> <role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat7" password="tomcat7" roles="manager-gui,manager-script" /> </tomcat-users>

7.2、配置Maven认证

在Maven的配置文件settings.xml里配置上面Tomcat用户,以后Maven将会用该账号登录Tomcat服务器。

 <?xml version="1.0" encoding="UTF-8"?>
<settings ...>
<servers> <server>
<id>Tomcat7Server</id>
<username>tomcat7</username>
<password>tomcat7</password>
</server> </servers>
</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/,感谢作者的付出。

Maven基本操作命令的更多相关文章

  1. Linux 操作命令列表记录

    Linux 操作命令列表记录 SSH登录 登录 ## 范式 ssh [username]@[host] ## 例 ssh -p 1222 root@10.0.0.1 使用非默认端口(ssh默认端口22 ...

  2. Maven settings.xml配置解读

    本文对${maven.home}\conf\settings.xml的官方文档作个简单的解读,请确保自己的maven环境安装成功,具体安装流程详见Maven安装 第一步:看settings.xml的内 ...

  3. Storm常用操作命令及WordCount

    Storm常用操作命令 1.任务提交命令:storm jar [jar路径] [拓扑包名.拓扑类名] [拓扑名称] storm jar /export/servers/storm/examples/s ...

  4. jenkins 整合maven,svn(配置钩子程序实现提交代码自动构建),tomcat实现热部署(windows+linux分别实现)

    springboot : https://blog.csdn.net/zjh_746140129/article/details/80904876 1 准备工作: (1)运行jenkins的tomca ...

  5. maven相关的说明以及通过它来创建项目

    1.什么是maven maven的本质是一个项目构建工具 2.maven的作用 那么作为一个项目构建工具我们又为什么要使用它以及好处呢 首先项目构建的本质是什么:项目代码从源代码到程序文件的过程是代码 ...

  6. Eclipse中执行maven命令

    1.如下图,右击需要执行maven命令的工程,选择"Debug As"或"Run As",再选择"Maven build..." 进行如上操 ...

  7. Eclipse中执行maven命令(转载)

    转载自:http://blog.csdn.net/u011939453/article/details/43017865 1.如下图,右击需要执行maven命令的工程,选择"Debug As ...

  8. maven项目右键快捷方式,然后点击Run As

    在某一个maven项目右键快捷方式,然后点击Run As就可以发现几个Maven的命令: 1.Maven Build: 这个命令用于编译Maven工程,执行命令后会在target文件夹中的classe ...

  9. Maven 学习笔记(二)

    前面一文——Maven 学习笔记(一)中已经提到了 pom 的大部分配置,Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给创建来完成,每一个任务都会对应一个插件 ...

随机推荐

  1. Codeforces 559A 第六周 O题

    Description Gerald got a very curious hexagon for his birthday. The boy found out that all the angle ...

  2. JDBC ----常用数据库的驱动程序及JDBC URL:

    常用数据库的驱动程序及JDBC URL: Oracle数据库: 驱动程序包名:ojdbc14.jar  驱动类的名字:oracle.jdbc.driver.OracleDriver  JDBC URL ...

  3. iOS 进阶 第十一天(0411)

    0411 UItaBbar的结构 每一个数组都有一个方法,那就是下面这个,如下图所示: 如果想看系统控件是怎么构成的,那么就采用遍历其子控件的方式来做,如上一图中所示 在iOS7及其以后的系统里,控制 ...

  4. php开发过程中用什么方法来加快页面的加载速度

    1,数据库优化;2,php缓存;3,使用zend引擎(其它框架);4,分布式部署;5,静态

  5. crawler spec

    使用说明 0.写在前面 1.本程序完成的抓取网页并保存其文件的工作. 2.目前的版本还需将工程文件导入eclipse中运行. 3.加载主类MyCrawler生成可执行文件. 4.程序主界面: 1 准备 ...

  6. 关于cookie的一点知识

    关于cookie的一点知识 1.cookie是存储在客户端计算机中. 2.cookie不能跨浏览器访问.cookie是浏览器保存的,所以不同浏览器对cookie的保存路径.存储数据的格式.文件大小都可 ...

  7. bitmap缩放时抗锯齿

    bitmap在进行放大缩小的时候经常会出现边缘锯齿的情况,通常的解决办法是在Paint中加入抗锯齿, paint.setAntiAlias(true); 但是有时候发现这并没有起到抗锯齿的作用,这是可 ...

  8. JSON-JObject

    http://james.newtonking.com/json/help/index.html http://www.cnblogs.com/usharei/archive/2012/04/24/2 ...

  9. linux文件系统创建文件的过程

    创建一个文件最主要的步骤就是: 1.为文件创建一个文件目录项. 2.为文件创建一个inode结构并分配inode号,将inode编号与文件名映射关系保存在1中分配的文件目录项中. 3.将1中创建的文件 ...

  10. ffmpeg参数解释

    基本选项: -formats 输出所有可用格式 -f fmt 指定格式(音频或视频格式) -i filename 指定输入文件名,在linux下当然也能指定: 0.0(屏幕录制)或摄像头 -y 覆盖已 ...