Tomcat和Eclipse零周转部署

| 在Eclipse中进行开发时,我希望能够将代码更改部署到Tomcat(立即)。 到目前为止,我得到了Eclipse的输出,将构建的类放在Web应用程序的
WEB-INF/classes
文件夹中。 我还有一个可重载的上下文,其中有ѭ1作为监视的资源。任何对此文件的编辑/保存都会重新加载我的Web应用程序,仅花费一秒钟的时间-比构建新的war文件并完整部署要快得多。 但是,我想做的是在编辑任何源文件时触发重新部署。当.class文件在Tomcat中被修改时,似乎我只需要监视ѭ0and文件夹及其子文件夹中的所有更改。 我已经读到可以在Tomcat的ѭ3中添加其他受监视的资源,但这似乎并不是我所需要的-除非可以指定要监视的目录(包括递归监视)子文件夹和文件)?
<Context>
  <WatchedResource>WEB-INF/web.xml</WatchedResource>
  <WatchedResource>WEB-INF/someother.file</WatchedResource>
  <Manager pathname=\"\"/>
</Context>
因此,从本质上讲,我的问题是我可以监视整个class文件夹(不明确包含每个ѭ5)来触发Tomcat中的重新部署吗? 如果没有,每当我在该项目中保存源文件时,是否可以将Eclipse配置为6.web.xml文件?我正在Windows系统上进行开发。 :( PS我对JRebel产品不感兴趣。任何答案都应该是免费的解决方案。 更新资料 根据Tomcat文档,应该通过将上下文设置为可重载来监视classes文件夹:   如果要让Catalina设置为true   监视/ WEB-INF / classes /中的类   和/ WEB-INF / lib进行更改,以及   自动重新加载网络   如果检测到更改,则应用程序。 仅对web.xml的更改似乎会触发重新加载。这是错误还是我的设置不正确? 另外,我已经阅读了有关为给定上下文设置
docBase
属性的信息:
docBase=\"webapps/someExample\"
这似乎很接近我的需求,因为我可以很快在Eclipse中重新发布它。我唯一的问题是,我需要在同一个端口等上同时在Tomcat中同时运行多个Web应用程序/ Servlet。     
已邀请:
        对于这些情况,我将您的Eclipse构建输出设置为WEB-INF / classs,并在项目中创建一个docBase设置为webapp文件夹(WEB-INF的父级)的上下文文件。手动将其放置在conf / Catalina / localhost中(假设server.xml的某些元素具有默认配置)。最终结果是tomcat最终从开发目录中投放。因此,更改servlet或其他类,然后将其更新到classes文件夹。保存一个jsp,它立即可用。 如果项目的结构如下:
src
|-main
  |-webapp
    |-images
    |-js
    |-WEB-INF
      |-jsp
      |-classes
然后上下文将是:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Context path=\"/path\" reloadable=\"true\" 
    docBase=\"<pathtoproject>/src/main/webapp\" />
    
        启用自动重新部署的Eclipse Web工具项目可能对您有帮助吗?添加服务器,打开属性,在“发布”下,您将看到一个单选按钮,显示“资源更改时自动发布”。如果类更改,则将导致重新部署,否则将覆盖资源。您可以通过内置的更新站点(仅Eclipse)安装WTP,因此请检查软件更新。它对大多数服务器都是免费的,但是不支持某些Websphere功能?     
        请尝试以下答案中所述的Spring Loaded JVM代理: https://stackoverflow.com/a/37064672/1034436 尽管这对我的Spring Web应用程序有效,但它应该可以与普通Eclipse + WTP + Tomcat +动态Web应用程序一起使用,因为Spring Loaded在JVM /类加载级别上工作。 您仍然需要使用@toomasr在其答案中提到的“资源更改时自动发布”。但是,还必须禁用“默认情况下模块自动重新加载”选项。如果您已经从Eclipse中向Tomcat添加/发布了模块,请为每个Web模块禁用\“ Auto Reload \”(通过Tomcat配置页面的“模块”标签)。那应该防止Tomcat在更新单个类文件时重新加载应用程序,我怀疑这是所有重新加载/等待时间。     

要回复问题请先登录注册