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实现热部署配置细节的更多相关文章

  1. 关于第一次在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 ...

  2. eclipse换了高版本的maven插件后报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project

    在给eclipse换了高版本的maven插件后,引入jar包报如下的错误:  org.apache.maven.archiver.MavenArchiver.getManifest(org.apach ...

  3. maven插件后报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project

    在给eclipse换了高版本的maven插件后,引入jar包报如下的错误: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache ...

  4. org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0

    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/Ma ...

  5. tomcat重启应用和tomcat重启是两回事。热部署就是重启应用

    tomcat重启应用和tomcat重启是两回事.热部署就是重启应用 tomcat重启应用和tomcat重启是两回事.热部署就是重启应用 tomcat可以设置检测到新的class后重启该应用(不是重启t ...

  6. 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> ...

  7. java报错 pom.xml第一行报"org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project...

    https://www.cnblogs.com/appium/p/11168441.html 新建Maven项目时,每个pom文件第一行都报错. 一.问题分析 原因就是你的maven的配置文件不是最新 ...

  8. tomcat8热部署配置--maven自动发布项目到tomcat8(如何支持远程访问部署)

    1.tomcat8实现热部署的配置  我们实现热部署后,自然就可以通过maven操作tomcat了,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限. #进入 ...

  9. tomcat的热部署配置

    1.什么是tomcat热部署? 所谓的tomcat热部署,就是在不重启tomcat服务器的前提下,将自己的项目部署到tomcat服务器中,这种方式是非常方便的,也称之为“开发即用”,热部署分为手动热部 ...

随机推荐

  1. C++不能中断构造函数来拒绝产生对象(在构造和析构中抛出异常)

    这是我的感觉,具体需要研究一下- 找到一篇文章:在构造和析构中抛出异常 测试验证在类构造和析构中抛出异常, 是否会调用该类析构. 如果在一个类成员函数中抛异常, 可以进入该类的析构函数. /// @f ...

  2. c#语句 (随堂练习)

    1. 方程ax²+bx+c=0:一元二次方程.求根    输入a,b,c的值    Δ=b²-4ac:若Δ<0方程无实根    若Δ>0,方程有两个不相同的实根x1 x2gen    若Δ ...

  3. 1.Repeater控件

    在用到数据库数据并且要逐条显示时,就需要用到repeater\listview等这样的数据库控件进行动态的显示数据. Repeater相当于foreach的功能,用于对绑定数据源中的数据进行遍历显示, ...

  4. 字符串(广义后缀自动机):BZOJ 3926 [Zjoi2015]诸神眷顾的幻想乡

    3926: [Zjoi2015]诸神眷顾的幻想乡 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 843  Solved: 510[Submit][St ...

  5. 【KMP】【最小表示法】NCPC 2014 H clock pictures

    题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1794 题目大意: 两个无刻度的钟面,每个上面有N根针(N<=200000),每个 ...

  6. 汇编学习笔记(7)call和ret指令

    ret和retf CPU执行ret指令时进行以下两步操作: (IP)=((ss)*16+(sp)) (sp)=(sp)+2 这相当于pop IP CPU执行retf指令时进行以下四步操作: (IP)= ...

  7. RAII(Resource Acquisition Is Initialization)资源获得式初始化

    当在编写代码中用到异常,非常重要的一点是:“如果异常发生,程序占用的资源都被正确地清理了吗?” 大多数情况下不用担心,但是在构造函数里有一个特殊的问题:如果一个对象的构造函数在执行过程中抛出异常,那么 ...

  8. 使用string

    public class UsingString {     public static void testFindStr(String str)     {         System.out.p ...

  9. 最长回文 HDU 3068 (裸的Manacher)

    直接看代码: ============================================================================================= ...

  10. J - A Bug's Life - poj2492

    这个题目很有意思啊,有一些bug生物(肯定是程序员养的),有人观察他们的生活习惯,观察他们之间是否有同性恋关系,比如ab发生关系,bc发生关系,ab发生关系...产生了同性恋了,你需要判断一下这种关系 ...