将tomcat和eclipse集成为热部署环境

2022-08-31 11:38:03

我想以集成的方式设置 eclipse 和 tomcat,这样对我的 JSP 和 servlet(如果可能的话)的更改就会立即反映出来,而无需部署。

好吧,这是那些在互联网上有很多答案的问题之一,但它们似乎都不同。(使用Sysdeo插件,使用JBOS插件,使用过时的Eclipse做事情,使用MyEclipse代替等。我找不到1个明确的资源来参考。那么为了我的利益,设置它的最简单,最推荐的程序是什么?

这假设我有eclipse和tomcat独立运行。实际上,我已经设法使用此处的说明以非热部署方式集成了它们:http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/index.html

日食版本: 3.4.2 (木卫三) 雄猫 v6.0.20


答案 1

有两种选择。

首先,Eclipse允许您执行此操作,只需稍微更改配置(另请参阅此详细文章)

  • 将 Tomcat 添加到服务器列表
  • 使项目成为“动态Web项目”(通过创建向导或通过设置中的分面部分)
  • 将项目添加到 tomcat,并配置其“部署程序集”
  • 双击列表中的 tomcat 以打开配置
  • 将“发布”更改为“从不自动发布”(这意味着当您按 ctrl+s 时,服务器不会重新启动)
  • 在调试模式下启动 tomcat

这仍将反映代码更改,但不会重新启动服务器。

其次,我已经使用FileSync插件很长时间了:

  • 配置插件以将所有类从 bin 控制器发送到 tomcat 安装(这几乎与配置部署程序集相同)WEB-INF/classes
  • 将所有其他资源配置为转到其各自的位置
  • (可选)将所有绝对路径从文件同步位置设置外部化为单个变量,并在 eclipse 中配置该变量(因此,如果所有成员都使用 eclipse,您也可以提交文件同步设置)
  • 将Tomcat添加到eclipse中的服务器列表中,将“服务器位置”选项配置为“使用tomcat安装”(当您双击服务器列表中的tomcat时,屏幕打开)
  • 在调试模式下启动 tomcat

它以这种方式完美地工作。每个非结构性变化都会立即反映出来,无需重新部署。

更新:
您可以在此处阅读有关热部署方法的更多信息
我还创建了一个项目,可以轻松地将工作区与 servlet 容器同步。


答案 2

只需让 eclipse 将类文件直接写入 $TOMCAT/webapps/MyWebApp/WEB_INF/classes 目录即可。然后,配置 apache-tomcat 以检查类文件是否已更新,如果已更新,则重新加载它们。

要将 tomcat 配置为在类更改时自动重新装入类,您需要

编辑和设置:$TOMCAT/conf/context.xml

<Context reloadable="true"> 

您可能还必须编辑并重新加载文件,并包括:webapps/$YourWebApp/web.xml

<web-app reloadable="true">

我不记得是否需要这两个更改,但这就是我如何配置tomcat-6.0.18以自动重新加载。


推荐