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 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给创建来完成,每一个任务都会对应一个插件 ...
随机推荐
- ARPA
ARPA是英文Advanced Research Projects Agency的缩写,代表美国国防部高级研究计划署.是美国国防部高级研究计划管理局因军事目的而建立的,开始时只连接了4台主机,这便是只 ...
- hg211g破解获取管理员密码,可以连接路由器。默认光猫来拨号。
先通过这种方式获取telecomadmin密码:1.使用useradmin用户登录设备2.在IE地址栏输入该路径”192.168.1.1/backupsettings.html”3.点击保存设备备份配 ...
- 说说iOS中的手势及触摸
一.响应链 在IOS开发中会遇到各种操作事件,通过程序可以对这些事件做出响应. 首先,当发生事件响应时,必须知道由谁来响应事件.在IOS中,由响应者链来对事件进行响应,所有事件响应的类都是UIResp ...
- POJ 3321 DFS序+线段树
单点修改树中某个节点,查询子树的性质.DFS序 子树序列一定在父节点的DFS序列之内,所以可以用线段树维护. 1: /* 2: DFS序 +线段树 3: */ 4: 5: #include < ...
- LCS最长公共子序列
问题:最长公共子序列不要求所求得的字符串在所给字符串中是连续的,如输入两个字符串ABCBDAB和BDCABA,字符串BCBA和BDAB都是他们的公共最长子序列 该问题属于动态规划问题 解答:设序列X= ...
- 【BZOJ 1188】 [HNOI2007]分裂游戏
Description 聪聪和睿睿最近迷上了一款叫做分裂的游戏. 该游戏的规则试: 共有 n 个瓶子, 标号为 0,1,2.....n-1, 第 i 个瓶子中装有 p[i]颗巧克力豆,两个人轮流取豆子 ...
- C# 数组CopyTo
private void button1_Click(object sender, RoutedEventArgs e) { int[] copy1 = { 1, 2, 3, 4 }; int[] c ...
- Ubuntu 查看文件以及磁盘空间大小命令df
(1)查看文件大小 查看当前文件夹下所有文件大小(包括子文件夹) du -sh # du -h 15M ./package 16K ./.fontconfig 4.0K ...
- C# - (0x80040154): Retrieving the COM class factory for component with CLSID {877AA945-1CB2-411C-ACD7-C70B1F9E2E32} failed
1. Exeption Error: System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM clas ...
- CSS reset--重置样式
在一般我们写一个自己自定义的HTML的时候,我们会清除样式或者说重置样式 重置样式.清除浏览器默认样式,一切全部用自己的设置,并配置适合设计的基础样式 下面给出所有一般需要清除的样式: html,bo ...