首页 > 代码库 > apache-maven-3.3.9集成apache-tomcat-7.0.72实现热部署配置细节

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实现热部署配置细节