Maven基本操作命令
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基本操作命令的更多相关文章
- Linux 操作命令列表记录
Linux 操作命令列表记录 SSH登录 登录 ## 范式 ssh [username]@[host] ## 例 ssh -p 1222 root@10.0.0.1 使用非默认端口(ssh默认端口22 ...
- Maven settings.xml配置解读
本文对${maven.home}\conf\settings.xml的官方文档作个简单的解读,请确保自己的maven环境安装成功,具体安装流程详见Maven安装 第一步:看settings.xml的内 ...
- Storm常用操作命令及WordCount
Storm常用操作命令 1.任务提交命令:storm jar [jar路径] [拓扑包名.拓扑类名] [拓扑名称] storm jar /export/servers/storm/examples/s ...
- jenkins 整合maven,svn(配置钩子程序实现提交代码自动构建),tomcat实现热部署(windows+linux分别实现)
springboot : https://blog.csdn.net/zjh_746140129/article/details/80904876 1 准备工作: (1)运行jenkins的tomca ...
- maven相关的说明以及通过它来创建项目
1.什么是maven maven的本质是一个项目构建工具 2.maven的作用 那么作为一个项目构建工具我们又为什么要使用它以及好处呢 首先项目构建的本质是什么:项目代码从源代码到程序文件的过程是代码 ...
- Eclipse中执行maven命令
1.如下图,右击需要执行maven命令的工程,选择"Debug As"或"Run As",再选择"Maven build..." 进行如上操 ...
- Eclipse中执行maven命令(转载)
转载自:http://blog.csdn.net/u011939453/article/details/43017865 1.如下图,右击需要执行maven命令的工程,选择"Debug As ...
- maven项目右键快捷方式,然后点击Run As
在某一个maven项目右键快捷方式,然后点击Run As就可以发现几个Maven的命令: 1.Maven Build: 这个命令用于编译Maven工程,执行命令后会在target文件夹中的classe ...
- Maven 学习笔记(二)
前面一文——Maven 学习笔记(一)中已经提到了 pom 的大部分配置,Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给创建来完成,每一个任务都会对应一个插件 ...
随机推荐
- Codeforces 559A 第六周 O题
Description Gerald got a very curious hexagon for his birthday. The boy found out that all the angle ...
- JDBC ----常用数据库的驱动程序及JDBC URL:
常用数据库的驱动程序及JDBC URL: Oracle数据库: 驱动程序包名:ojdbc14.jar 驱动类的名字:oracle.jdbc.driver.OracleDriver JDBC URL ...
- iOS 进阶 第十一天(0411)
0411 UItaBbar的结构 每一个数组都有一个方法,那就是下面这个,如下图所示: 如果想看系统控件是怎么构成的,那么就采用遍历其子控件的方式来做,如上一图中所示 在iOS7及其以后的系统里,控制 ...
- php开发过程中用什么方法来加快页面的加载速度
1,数据库优化;2,php缓存;3,使用zend引擎(其它框架);4,分布式部署;5,静态
- crawler spec
使用说明 0.写在前面 1.本程序完成的抓取网页并保存其文件的工作. 2.目前的版本还需将工程文件导入eclipse中运行. 3.加载主类MyCrawler生成可执行文件. 4.程序主界面: 1 准备 ...
- 关于cookie的一点知识
关于cookie的一点知识 1.cookie是存储在客户端计算机中. 2.cookie不能跨浏览器访问.cookie是浏览器保存的,所以不同浏览器对cookie的保存路径.存储数据的格式.文件大小都可 ...
- bitmap缩放时抗锯齿
bitmap在进行放大缩小的时候经常会出现边缘锯齿的情况,通常的解决办法是在Paint中加入抗锯齿, paint.setAntiAlias(true); 但是有时候发现这并没有起到抗锯齿的作用,这是可 ...
- JSON-JObject
http://james.newtonking.com/json/help/index.html http://www.cnblogs.com/usharei/archive/2012/04/24/2 ...
- linux文件系统创建文件的过程
创建一个文件最主要的步骤就是: 1.为文件创建一个文件目录项. 2.为文件创建一个inode结构并分配inode号,将inode编号与文件名映射关系保存在1中分配的文件目录项中. 3.将1中创建的文件 ...
- ffmpeg参数解释
基本选项: -formats 输出所有可用格式 -f fmt 指定格式(音频或视频格式) -i filename 指定输入文件名,在linux下当然也能指定: 0.0(屏幕录制)或摄像头 -y 覆盖已 ...