Maven添加Tomcat插件实现热部署代码实例
Maven热部署,顾名思义就是可以不影响项目在服务器中的运行情况,可以实现项目代码的更新,减少启动,编译时间,达到快速开发的目的,也不需要手动拷贝war包到远程项目,可以直接将项目以及war包部署到远程服务器。实现Maven热部署主要需要maven获得tomcat的管理权限,首先要进行Tomcat的配置,其次在pom.xml中配置tomcat插件即可实现maven热部署。
配置Tomcat权限
在tomcat文件目录下找到apache-tomcat-7.0.68/conf/tomcat-users.xml文件,在文中位置加入以下角色(非注释部分)配置:
配置说明
manager-gui:允许访问html接口(即URL路径为/manager/html/)
manager-script:允许访问纯文本接口(即URL路径为/manager/text/)
manager-jmx:允许访问JMX代理接口(即URL路径为/manager/jmxproxy/)
manager-status:允许访问Tomcat只读状态页面(即URL路径为/manager/status/)
从TomcatManager内部配置文件中可以得知,manager-gui、manager-script、manager-jmx均具备manager-status的权限,也就是说,manager-gui、manager-script、manager-jmx三种角色权限无需再额外添加manager-status权限,即可直接访问路径"/manager/status/*"
maven配置
tomcat7 tomcat tomcat
pom.xml引入tomcat7插件
maven中关于tomcat的插件有tomcat6插件和tomcat7插件,普遍使用的是tomcat7插件,在pom.xml中添加以下片段:
org.apache.tomcat.maven tomcat7-maven-plugin 2.2 http://localhost:8080/manager/text tomcat7 / true tomcat tomcat org.apache.maven.plugins maven-compiler-plugin 3.8.0 1.7 UTF-8
配置完成,接下来运行runasmavenbuild,然后在Goals中填上tomcat7:deploy运行项目,实现maven热部署了,看到以下信息提示,就表示执行成功了。
[INFO]tomcatManagerstatuscode:200,ReasonPhrase:OK
[INFO]OK-Deployedapplicationatcontextpath/
[INFO]------------------------------------------------------------------------
[INFO]BUILDSUCCESS
[INFO]------------------------------------------------------------------------
[INFO]Totaltime:3.560s
[INFO]Finishedat:2019-04-18T20:37:57+08:00
[INFO]FinalMemory:21M/222M
[INFO]------------------------------------------------------------------------
注意事项:
部署项目前要先启动tomcat服务器
在执行tomcat7:deploy命令时注意jre版本的配置,JDK版本选择1.7
首次执行选择第一个mavenbuild,非首次执行选择第二个mavenbuild命令执行tomcat7:redeploy
maven集成tomcat常用命令:
tomcat:deploy部署一个webwar包
tomcat:reload重新加载webwar包
tomcat:start启动
tomcattomcat:stop停止
tomcattomcat:undeploy停止一个war包
tomcat:run启动嵌入式tomcat,并运行当前项目
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。