【问题标题】:How do deploy just my static content in Tomcat / Eclipse?如何在 Tomcat / Eclipse 中仅部署我的静态内容?
【发布时间】:2025-12-03 00:05:01
【问题描述】:

我正在使用 Java 开发 Web 应用程序。我当前的过程是将项目作为 WAR 导出到 Tomcat 文件夹,在那里它会选择它并重新加载 WAR。我等待它运行完它的启动过程然后它就消失了。

我想让它在不需要时不需要进行整个重新加载。如果我对单个类进行小改动,也许它可以只重新加载那个类。如果我要更改静态内容,也许它可以只发送那个 HTML 文件或 JS 文件。

我怎样才能做到这一点?我唯一真正的交易破坏者是我需要一个与 Eclipse 一起工作的解决方案。我什至会考虑使用与 Tomcat 不同的容器,尽管它是我熟悉的地方。

【问题讨论】:

  • 您是否安装了 Web 工具?它们允许您从 Eclipse 中启动 Tomcat,并且基于工作区中更改资源的正常构建将导致它们被重新部署。
  • 我有,但他们已经完全破坏了我的响应时间。最好在外面做。遵循 Umeshwaran 回答中的步骤有很大帮助,我认为尤其是取消选中重新加载的要点。

标签: java eclipse tomcat web-deployment


【解决方案1】:

您可以在 Eclipse 中热重载/部署您的应用程序,但对于单独的 Tomcat 服务器,我认为不可能进行热重载。

对于 Eclipse

对于eclipse,你可以按照这个链接https://mkyong.com/eclipse/how-to-configure-hot-deploy-in-eclipse/中的说明进行操作

这会加快你的开发速度,但它有它的局限性

热部署将仅支持方法实现中的代码更改。如果添加新类或新方法,仍然需要重新启动。

对于 Tomcat

我没试过,但是war的所有类文件都会从Tomcat的二进制内存中加载/渲染。所以尝试更改该位置的类文件(不确定二进制类文件夹的路径)。

但是如果你想从 tomcat 服务器渲染静态 HTML、js 和 css,可以很容易地在“webapps”文件夹中添加另一个文件夹(例如:/webappps/static)

【讨论】:

  • 我回家后会尝试第一个选项。我不介意偶尔重启,我只是不想要 90 秒的开发周期!我稍后再报告。
  • 如果 Tomcat 的启动时间是您最关心的问题,您是否在 Confluence 的 wiki 上查看了HowTo FasterStartUp? Eclipse智能重载Tomcat的组件:类的变化会触发应用重载,更严重的变化会重启Tomcat。
  • 真正的天才部分是教程的第 2.2 步,In the Tomcat Plugin page, clicks on the Module view, make sure Auto Reload is Disabled. Default is enabled. 这就是我之前的尝试,因为它在我不希望它时不断重启。
  • @PiotrP.Karwasz 我将对此进行调查 - 我希望有一个更好的启动时间,尤其是在开发方面!显然,我仍然需要重新启动很多次。
最近更新 更多