如何在 tomcat 中启用热部署
how to enable hot deploy in tomcat
我可以编写一个 ant 脚本,将更新的 class 文件复制到 tomcat 中的 web-inf\classes
。但是我如何告诉 Tomcat 7.0 自动从 web-inf/classes
目录中获取更改的 class 文件?
我尝试在 tomcat 主机配置 server.xml
中设置 autoDeploy="true"
,但是当检测到更改时,Tomcat 会话被破坏。
我可以在 Intellij
中轻松替代 eclipse tomcat plugin 吗
Tomcat只能热插拔某些类型的文件如JSP, and static files like JavaScript, CSS, etc. if you turn off cacheing不能热插拔Java类,只能重启webapp。实现热插拔Java类,我到处都看到JRebel的广告,但没试过他们的产品
但是,您可以通过注释掉指令来保留 Tomcat 会话,如 Tomcat 文档站点中所述:http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html#Disable_Session_Persistence.
最后,您可以将 ANT 脚本写入 assemble WAR 并在每次执行脚本时重新部署。
示例build.xml:
...
<target name="tomcat-stop">
<exec executable="${server.home}/bin/catalina.bat">
<arg value="stop"/>
</exec>
</target>
<target name="tomcat-start">
<exec executable="${server.home}/bin/startup.bat">
<arg value="start"/>
</exec>
</target>
...
<target name="all" depends="tomcat-stop,clean,init,compile,junit-slow,make_war,deploy,tomcat-start"></target>
在任何合并中,出于两个原因,我会避免使用 Eclipse Tomcat 插件。
- 在大多数版本的 Eclipse 中已经包含 Tomcat 作为服务器适配器并带有一些选项。
- 防止 IDE 因插件而膨胀。
我最终使用了 HotSwapAgent tool。这是 JRebel
的免费替代品
显然,另一种选择是使用 jetty(例如,在进行开发时)它能够更轻松地进行动态热插拔。
有一个新的支持它的intellij插件:https://plugins.jetbrains.com/plugin/9492-smart-tomcat
我可以编写一个 ant 脚本,将更新的 class 文件复制到 tomcat 中的 web-inf\classes
。但是我如何告诉 Tomcat 7.0 自动从 web-inf/classes
目录中获取更改的 class 文件?
我尝试在 tomcat 主机配置 server.xml
中设置 autoDeploy="true"
,但是当检测到更改时,Tomcat 会话被破坏。
我可以在 Intellij
Tomcat只能热插拔某些类型的文件如JSP, and static files like JavaScript, CSS, etc. if you turn off cacheing不能热插拔Java类,只能重启webapp。实现热插拔Java类,我到处都看到JRebel的广告,但没试过他们的产品
但是,您可以通过注释掉指令来保留 Tomcat 会话,如 Tomcat 文档站点中所述:http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html#Disable_Session_Persistence.
最后,您可以将 ANT 脚本写入 assemble WAR 并在每次执行脚本时重新部署。
示例build.xml:
...
<target name="tomcat-stop">
<exec executable="${server.home}/bin/catalina.bat">
<arg value="stop"/>
</exec>
</target>
<target name="tomcat-start">
<exec executable="${server.home}/bin/startup.bat">
<arg value="start"/>
</exec>
</target>
...
<target name="all" depends="tomcat-stop,clean,init,compile,junit-slow,make_war,deploy,tomcat-start"></target>
在任何合并中,出于两个原因,我会避免使用 Eclipse Tomcat 插件。
- 在大多数版本的 Eclipse 中已经包含 Tomcat 作为服务器适配器并带有一些选项。
- 防止 IDE 因插件而膨胀。
我最终使用了 HotSwapAgent tool。这是 JRebel
的免费替代品显然,另一种选择是使用 jetty(例如,在进行开发时)它能够更轻松地进行动态热插拔。
有一个新的支持它的intellij插件:https://plugins.jetbrains.com/plugin/9492-smart-tomcat