gpt4 book ai didi

tomcat - 在Tomcat上运行Errai时如何启用热重载?

转载 作者:行者123 更新时间:2023-11-28 22:07:23 25 4
gpt4 key购买 nike

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

现在我需要它,但在 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:运行

现在你可以打开http://localhost:8080/errai-tutorial/在您的网络浏览器中

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

并以这种方式(SuperDevModeHelper.devModeOn())的快捷方式调用它,如下所示:

最佳答案

看看这个原型(prototype) https://github.com/tbroyer/gwt-maven-archetypes/

modular-webapp 配置 tomcat 和 gwt 一起工作。热重载之所以有效,是因为 gwt:codeserver 会生成一个特殊的 Bootstrap (your-app.nocache.js),它会立即运行 gwt 编译并在完成时重新加载。为了使其工作,您需要将 gwt:codeserver 生成的 launcherDir 加载到 tomcat 上下文中,这是在这个原型(prototype)中使用 context.xml 完成的。 .

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

关于tomcat - 在Tomcat上运行Errai时如何启用热重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55601221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com