• maven+tomcat6-maven-plugin实现热部署及调试


      maven project,特别是maven module项目默认情况下是是无法直接通过tomcat等容器部署的,如图,我要部署fastdev_web这个maven module,可以看出在tomcat部署对话框中是无法选择的,而且还可以看出,不管fastdev_web不能选,所有的maven项目都不能选:

      这是因为maven项目的目录结构并不是标准的web目录结果,我们通过mavne骨架创建的项目,它的web.xml项目描述符不在tomcat所能识别的目录下,所在部署时才不能选择。这时就需要tomcat6-maven-plugin这个插件了。不然每次都得clean package打成war后手动部署到tomcat容器上去,最麻烦的就是这个尼玛不能实时生效(每次修改都得clean package打成war包后放到tomcat上去)。这样的话也忒麻烦了(我就这样干了半个月)...

      pom.xml tomcat插件配置(此处用tomcat6,注意tomcat7的url跟tomcat6的不一样):

            <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat6-maven-plugin</artifactId>
                    <version>2.0-beta-1</version>
    
                    <configuration>
                        <url>http://localhost:8080/manager</url>
                        <server>tomcat</server>
                        <username>admin</username> 
                        <password>admin</password>
                        <path>/fastdev_web</path>
                        <contextReloadable>true</contextReloadable>
                    </configuration>
                </plugin>

         配置完这个后pom.xml还配置C:Users3panjiacai.MSS.m2settings.xml(maven的全局配置,您的路径肯定跟我的不一样):

      settings.xml代码如下,这个id需跟我们pom.xml配置的id一致:

     </servers>
      <server>
           <id>tomcat</id>
           <username>admin</username>
           <password>admin</password>
        </server>
     </servers>

         settings.xml配置完后,就需给admin用户赋权了,这个在tomcat安装目录下的conf/tomcat-users.xml文件,赋权代码如下:

    <role rolename="admin"/>    
    <role rolename="admin-gui"/>    
    <role rolename="manager"/>    
    <role rolename="manager-script"/>    
    <role rolename="manager-gui"/>    
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <user username="admin" password="admin" roles="admin,manager,manager-gui,admin-gui,manager-script,manager-jmx,manager-status"/> 

         到此所有配置完成,然后就可进行热部署了:

    1、在myeclipse中运行,非远程(tomcat没有启动)
      运行:clean tomcat6:run

    重新部署:clean tomcat6:redeploy  

    清除部署:tomcat6:undeploy

    2、在远程服务器运行(tomcat必须启动),执行完后去tomcat webapp目录下看看发生了生命

      部署:clean tomcat6:deploy

    重新部署:clean tomcat6:redeploy  

    清除部署:tomcat6:undeploy

      

      

  • 相关阅读:
    18_异常机制和File类
    20个简洁的 JS 代码片段
    在 Python 中实现延迟调用
    停止 Goroutine 有几种方法?
    图解Python中深浅copy
    Python 自制简单实用的日志装饰器
    Go 里的错误得这样写才优雅~
    推荐8个炫酷的 Python 装饰器!
    两个 Django 插件( django_extensions,django_toolbar)
    一文看懂Python系列之装饰器(decorator)
  • 原文地址:https://www.cnblogs.com/yyh081616/p/3605544.html
Copyright © 2020-2023  润新知