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

本文介绍了如何通过在Maven父项目中引入maven-tomcat-plugin插件来实现对子模块的热部署,省去了重新部署和启动Tomcat的繁琐步骤,特别适用于频繁修改Java代码的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

比如有一个父模块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了。

 

ps:www.xiaofeilong.me个人博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值