在Tomcat上运行Errai时如何启用热重新加载?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Tomcat上运行Errai时如何启用热重新加载?相关的知识,希望对你有一定的参考价值。

我正在用Errai 4开发一个项目,像往常一样,我可以运行“mvn gwt:run”,热重载正常工作,即我改变模型或视图,我只需要刷新浏览器。

现在我需要它,但在Tomcat 7上运行我的Errai应用程序。

与Tomcat的项目类似于https://github.com/stbland/errai-tutorial-tomcat

问题是当我只使用mvn gwt:run或类似的方法在前端进行更改时,如何使用Tomcat 7进行热重新加载。

一步一步的最终解决方案:

解决此问题的信息:

安装原始项目

在本例中,我们将使用errai-tutorial

在Tomcat上运行

听力的变化

  • cd errai-tutorial
  • mvn gwt:编译
  • mvn gwt:跑

现在,您可以在Web浏览器中打开http://localhost:8080/errai-tutorial/

要进行热重新加载,您需要在项目中导入此类:

并以这种方式(qazxsw poi)的快捷方式调用它:

  • SuperDevModeHelper.devModeOn()
答案

看看这个原型https://github.com/Tlaloc-Es/errai-tutorial/blob/develop/src/main/java/org/jboss/errai/demo/client/local/ContactListPage.java

modular-webapp将tomcat和gwt配置为一起工作。热重载是有效的,因为gwt:codeserver会生成一个特殊的引导程序(your-app.nocache.js),它会立即运行gwt编译并在完成时重新加载。要使其工作,您需要将gwt:codeserver生成的launcherDir加载到tomcat上下文中,这是使用https://github.com/tbroyer/gwt-maven-archetypes/在此原型中完成的。

或者,您可以将一些编译触发器添加到您自己的应用程序中,以便您可以使用快捷方式触发编译。这就是你需要编译一个汇编(context.xml)。只需在app入口点添加一个快捷方式处理程序,然后调用DevModeHelper。如果您不想在最终编译中添加它,请仅在devModeOn()System.getProperty("superdevmode").equals("on")时安装事件侦听器。在这种情况下,首次使用经典的true书签,然后使用自定义快捷方式。我们使用这种策略,效果很好。

以上是关于在Tomcat上运行Errai时如何启用热重新加载?的主要内容,如果未能解决你的问题,请参考以下文章

你知道Tomcat是如何做到热加载和热部署的吗?

是否可以同时在iOS和Android模拟器上启用热重新加载?

热加载和热部署,看看 Tomcat 是怎么实现的

热加载和热部署,没听过?看看 Tomcat 是怎么实现的

如何在 Rider 中启用视图热重载? [复制]

热部署简介及在eclipse安装插件JRebel进行热部署