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. 11G RAC 简单命令

    1.查看集群状态: [root@rac1 ~]# su - grid [grid@rac1 ~]$ crsctl check clusterCRS-4537: Cluster Ready Servic ...

  2. Spark Standalone运行过程

    以下内容参考http://www.cnblogs.com/luogankun/p/3912956.html 一.集群启动过程--启动Master 二.集群启动过程--启动WorkerWorker运行时 ...

  3. [css]兼容性

    div +input 输入框 , 在微信中  有问题 块级元素 行内元素

  4. 【Go】 http webserver

    示例1: package main import ( "fmt" "net/http" "encoding/json" ) var i in ...

  5. C# list 筛选FindAll,根据参数过滤

    /// <summary> /// 汽车车型 获取 /// Redis Key=zgqp315_Redis_ModelNumberC_List /// </summary> / ...

  6. 作业三--Linux内核分析

    一.Linux内核源码 arch目录支持不同CPU的源代码,是内核源码中比较大的文件. fs文件系统Linux内核的源码放在kernel目录中. 二.构造一个简单的Linux系统MenuOS 三.使用 ...

  7. 面试问到的Spring

    一.介绍Spring 1.主要使用了基本的javabean代替的Ejb  Ejb:服务端的组件模型,设计目标应用部署分布在应用程序,把已经做好的编好的程序,打包放在服务 端执行,凭借java跨平台的优 ...

  8. WPF解析PPT为图片

    偶遇需要解析 PPT为单张图片 其中,对于包含动画的PPT页,分别对动画最后效果进行截取,即每个连续动画截取 (动画N个)N+1(原图)张 http://git.oschina.net/jiailiu ...

  9. html5游戏引擎-Pharse.js学习笔记(一)

    1.前言 前几天随着flappy bird这样的小游戏的火爆,使我这种也曾了解过html5技术的js业余爱好者也开始关注游戏开发.研究过两个个比较成熟的html5游戏引擎,感觉用引擎还是要方便一些.所 ...

  10. tomcat内存溢出,设置

    tomcat/bin/catalina.bat里找到echo Using CATALINA_BASE:   "%CATALINA_BASE%" ,在上方设置:    set JAV ...