• Maven多模块项目中应用maventomcatplugin热部署


    Maven多模块项目中使用maven-tomcat-plugin热部署
    比如有一个父模块xfl(类型为pom的maven项目),其中的pom.xml为:
    <modules>
     
            <module>xfl-core</module>
     
            <module>xfl-jugg</module>
     
            <module>xfl-mysql</module>
     
        </modules>
     
    xfl-core和xfl-jugg都是jar类型的maven项目,xfl-mysql是war类型的maven项目。他们之间的依赖关系:xfl-core依赖xfl-jugg,xfl-mysql依赖xfl-core。
    如果修改xfl-core或者xfl-jugg里面的java代码,通常需要重新部署。然而网上常见的是用jetty插件来避免重新部署,进而实现修改java代码都热部署。
     
    本人使用jetty觉得不是很爽(有个小问题一直没解决:jetty:stop命令后,总是出现一个小错误)。
    于是决定用maven-tomcat-plugin来试试,用了3天晚上(从22点到02点,白天要看孩子,%>_<%)终于实现了热部署功能。
     
    只需在父项目xfl的pom加入:
    <plugin>
     
              <groupId>org.apache.tomcat.maven</groupId>
     
              <artifactId>tomcat7-maven-plugin</artifactId>
     
              <version>2.0-beta-1</version>
     
    <configuration>
     
                                 <path>/xfl-mysql</path>
     
                                 <!--这是关键要设置为true,默认设置是false,类比Tomcat里server.xml中的设置-->
     
                                 <contextReloadable>true</contextReloadable>
     
    </configuration>
     
            </plugin>
     
    对xfl用命令mvn tomcat7:run,一劳永逸。
     
    这样再修改java代码,不需要重新部署,也不需要多次重新启动tomcat了。
     
     
    ***************************************************
     
    maven集成tomcat进行web应用测试
    maven集成tomcat进行web应用测试
    1、环境介绍
    maven:apache-maven-3.0.3
    tomcat:apache-tomcat-6.0.32
    jdk:jdk1.5.0_11
    2、配置tomcat-maven-plugin
    在pom.xml中加入如下配置
    org.codehaus.mojo
    tomcat-maven-plugin
    1.1
    tomcat-6.0.32
    http://127.0.0.1:8080/manager
    ${encoding}
    WebContent
    说明:
    tomcat-maven-plugin现在已拆分成tomcat7-maven-plugin和tomcat6-maven-plugin了,而groupId也由org.codehaus.mojo改为org.apache.tomcat.maven。详情可参考:http://tomcat.apache.org/maven-plugin-2/index.html
    3、集成tomcat测试的方法
    方法一(推荐):
    运行mvn tomcat:run命令,启动内嵌的tomcat进行测试
    1) 可在命令行直接运行mvn tomcat:run命令
    2) 如果使用eclipse,可通过maven的eclipse插件m2e新增一个maven build运行tomcat:run命令,如图:
    方法二:
    运行mvn tomcat:redeploy命令,将web应用发布到外部已启动的tomcat进行测试
    1) 在maven的文件里加入如下设置:
    tomcat-6.0.32
    tomcat
    tomcat
    2) 在tomcat/conf的tomcat-users.xml加入如下配置:
    3) 启动tomcat
    4) 类似方法一那样执行tomcat:redeploy命令
    方法三(不推荐):
    增加eclipse web工程支持,利用传统的eclipse集成tomcat测试的方法进行测试。此方法其实跟maven和tomcat-maven-plugin无关,发布到tomcat下测试的war包不一定跟maven构建的包一致,因此不推荐。
    1) 在工程属性里的Project Facets里勾上Dynamic Web Module,如下图:
    2) 这样便可以利用传统的eclipse集成tomcat测试的方法进行测试了,如下图:
    更多关于tomcat-maven-plugin的使用,请参考:
    http://mojo.codehaus.org/tomcat-maven-plugin/index.html
    http://tomcat.apache.org/maven-plugin-2/index.html
     
    **********************************************************
    JAVA中 maven+tomcat+eclipse开发环境run as maven build 中的Goals tomcat:run启动一个外部的tomcat
     
    因为条件的需要,内嵌的tomcat不能满足我的要求,请问tomcat:run带上什么样的参数,启动一个外部的指定的tomcat.
     
    你可以试试修改tomcat的startup,bat文件 添加一行命令直接调用指定的tomcat
     
     
     
    maven 打war包存放在哪里?
    在你的代码目录里面
    有个target文件夹
     
  • 相关阅读:
    Windows向虚拟机Linux传输文件方法
    Postgresql ERROR: permission denied for relation app_info
    Spring Boot: Cannot determine embedded database driver class for database type NONE
    零宽度正预测先行断言是什么呢,看msdn上的官方解释定义
    php 的curl 模拟登陆
    使用ProxychainsMac下安装及配置
    利用onekeyup即可实现验证码的点击刷新功能
    程序中使用gc_enable() 和 gc_disable()开启和关闭
    通过ReflectionMethod,我们可以得到Person类的某个方法的信息
    order by id asc得出的排序是什么原理
  • 原文地址:https://www.cnblogs.com/huapox/p/3251604.html
Copyright © 2020-2023  润新知