Maven多模块项目中应用maven-tomcat-plugin热部署

来源:互联网 发布:仿网红淘宝店铺 编辑:程序博客网 时间:2024/05/22 13:04

我这个项目是用maven管理的一个多模块的项目,大概结构是

aaa

     -Business

     -Core

     -Framework

     -Web


aaa是pom项目,Web是war项目,其它的是jar

一开始我是在Web里面配置了tomcat的插件,但是发现每次修改都要手动重启一下tomcat,如果是改Business里面的代码,甚至要我mvn install一下就可以。

后面在网上查资料,发现几种方法可以热部署

一、把tomcat插件配置到pom项目里面去

       

<plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.0-beta-1</version><configuration><path>/dzdx</path><warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory><contextReloadable>true</contextReloadable><uriEncoding>GBK</uriEncoding></configuration></plugin>

这种方法我正在使用,是可行的,每次修改会自己更新,就类似于我们不用maven的时候,自己在eclipse里面配置 一个tomcat,每次一改代码就自动重新部署,虽然有些耗资源,但比起之前每次要手动重启要好很多,不过有一点要注意,一开始我用的是2.0的版本,加了contextReloadable后一直报错,启动不了,改成2.0-beta-1后就正常 了。


二、使用外部的tomcat

        1)在tomcat中增加一个用户定义

               <tomcat-users>

                         <user username="admin" password="password" roles="manager"/>

               </tomcat-users>

        2)在settings文件中增加

             <servers>

                   <!-- 增加一个测试服务器 -->

                   <server>

                             <id>tomcat</id>

                             <username>admin</username>

                             <password>password</password>

                  </server>

            </servers>

        3) war项目中的pom配置

             

                                <plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.0-beta-1</version><configuration><url>http://localhost:8080/aaa</url><server>tomcat</server></configuration></plugin>

           这种方法我没有试,我觉得还不如第一种方便


三、使用JRebel插件

      详细请参考http://jlife.iteye.com/blog/479817 我试了一下没成功,有时间再研究一下。

0 0