apache-maven-3.3.9集成apache-tomcat-7.0.72实现热部署配置细节
1、开发环境、Maven、Tomcat安装不作描述,搜索引擎很多文章可供参考。
2、Tomcat配置文件修改
1)Tomcat管理权限配置
1.1)在tomcat安装目录下找到tomcat-users.xml文件,如$apache-tomcat-7.0.72\conf\tomcat-users.xml,修改或增加如下内容:
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username = "admin" password = "password" roles = "admin,manager,manager-gui,manager-script" />
</tomcat-users>
1.2)如果是Eclipse中添加及启动的Tomcat,需要在Tomcat配置页面中修改如下配置:

如果不修改这里的配置当你尝试访问Tomcat管理页面(http://localhost:8080/manager/text)时将一直404,且Maven build时也将无法知晓Tomcat启动状态无法通过Tomcat管理端实现热部署。
此时访问Tomcat管理页面将看到如下界面即代表Tomcat管理权限配置完毕,提示输入用户名/密码就是如上配置的admin/password!

1.2.4)修改Tomcat下Server.xml
因为之前用Eclipse添加的Tomcat跑起了项目,Tomcat Server.xml中的<Context..>有配置,所以无法用Maven实现热部署,将报如下错误
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy (default-cli) on project fish-web-arch: Cannot invoke Tomcat manager: FAIL - Context /fish-web-arch is defined in server.xml and may not be undeployed
只需将Tomcat Server.xml中<Context>配置去掉即可
<Context docBase="fish-web-arch" path="/fish-web-arch" reloadable="true" source="org.eclipse.jst.j2ee.server:fish-web-arch"/> 去掉该行即可,如果之前没在Eclipse 中Tomcat下发布过或配置文件中无此类似配置项即无需理会。
2、配置Maven的Setting.xml文件
这里主要是配置Tomcat管理端的访问权限配置
<server>
<id>admin</id>
<username>admin</username>
<password>password</password>
</server>
3、配置Pom.xml文件
这里就是真正配置Maven与Tomcat集成插件的配置
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>admin</server>
<username>admin</username>
<password>password</password>
<ignorePackaging>true</ignorePackaging>
</configuration>
</plugin>
4、使用Maven发布测试
1)命令行 (命令行build时需要手动先启动Tomcat否则出现无法Connect Tomcat Manager报错)
mvn tomcat:redeploy


2)Eclipse中build
2.1首先要配置Run配置项,如下:



2.2)
启动Eclipse中启动Tomcat然后build


至此,所有配置及发布过程结束完毕,祝你一切顺利!
感谢如下作者的贡献:
https://my.oschina.net/zhanghaiyang/blog/725771
http://395469372.blog.51cto.com/1150982/1774855
http://stackoverflow.com/questions/7517808/maven-tomcat7-deploy
apache-maven-3.3.9集成apache-tomcat-7.0.72实现热部署配置细节的更多相关文章
- 关于第一次在IED(MyEclipse)部署Maven时,pom.xml头部报这样的错---org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)
rg.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache ...
- eclipse换了高版本的maven插件后报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project
在给eclipse换了高版本的maven插件后,引入jar包报如下的错误: org.apache.maven.archiver.MavenArchiver.getManifest(org.apach ...
- maven插件后报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project
在给eclipse换了高版本的maven插件后,引入jar包报如下的错误: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache ...
- org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/Ma ...
- tomcat重启应用和tomcat重启是两回事。热部署就是重启应用
tomcat重启应用和tomcat重启是两回事.热部署就是重启应用 tomcat重启应用和tomcat重启是两回事.热部署就是重启应用 tomcat可以设置检测到新的class后重启该应用(不是重启t ...
- pom.xml文件报MavenArchiver错误 org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)
第一种方式 war项目 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId> ...
- java报错 pom.xml第一行报"org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project...
https://www.cnblogs.com/appium/p/11168441.html 新建Maven项目时,每个pom文件第一行都报错. 一.问题分析 原因就是你的maven的配置文件不是最新 ...
- tomcat8热部署配置--maven自动发布项目到tomcat8(如何支持远程访问部署)
1.tomcat8实现热部署的配置 我们实现热部署后,自然就可以通过maven操作tomcat了,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限. #进入 ...
- tomcat的热部署配置
1.什么是tomcat热部署? 所谓的tomcat热部署,就是在不重启tomcat服务器的前提下,将自己的项目部署到tomcat服务器中,这种方式是非常方便的,也称之为“开发即用”,热部署分为手动热部 ...
随机推荐
- 转:Lua简明教程
需要注意的是:lua中的变量如果没有特殊说明,全是全局变量,那怕是语句块或是函数里. 这里很奇怪,为什么在函数内部声明的变量默认也是global的呢? 函数的返回值 和Go语言一样,可以一条语句上赋多 ...
- Fishnet(计算几何)
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 1642 Accepted: 1051 Description A fis ...
- 怒刷BZOJ记录(一)1001~1037
我实在是太弱了...不滚粗只能刷BZOJ了...这里来记录每天刷了什么题吧. 2015-7-9 : 1001[BeiJing2006]狼抓兔子 | 最大流练习(呃..其 ...
- 2015 BJOI 0102 Secret
传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=477 试题描述: 在 MagicLand 这片神奇的大陆上,有样一个古老传说 ...
- WordPress Pie Register插件‘wp-login.php’多个跨站脚本漏洞
漏洞名称: WordPress Pie Register插件‘wp-login.php’多个跨站脚本漏洞 CNNVD编号: CNNVD-201307-255 发布时间: 2013-07-31 更新时间 ...
- C# 匿名方法 委托 Action委托 Delegate委托
原文地址:https://msdn.microsoft.com/zh-cn/library/bb882516.aspx 匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用. 可以使用匿 ...
- 使用python进行接口测试
最近在做接口测试,之前公司的方案是使用postman进行接口测试.但是伟大的墙导致我们只能用离线版postman..然后一个很长很长的接口列表,一个接一个的访问.我的天哪..所以萌生了一个想法,使用p ...
- Seek the Name, Seek the Fame - POJ 2752(next运用)
题目大意:小猫是非常有名气的,所以很多父母都来找它给孩子取名字,因为找的人比较多,小猫为了摆脱这个无聊的工作,于是它发明了一种取名字的办法,它把孩子父母的名字合在一起,然后从这个名字里面找一个前缀,并 ...
- 安卓ListView操作的两种方法
举例做一个微信的中间部分(好友消息等信息通知) 第一种:BaseAdapter() package com.example.wx; import java.util.ArrayList;import ...
- Hadoop在linux下无法启动DataNode解决方法
最近重新捡起了Hadoop,所以博客重新开张- 首先描述一下我的问题:这次我使用eclipse在Ubuntu上运行hadoop程序.首先,按照厦门大学数据库实验室的eclipse下运行hadoop程序 ...