【问题标题】:GWT 2.7.0 Super Dev Mode, don't recompile server side code after changeGWT 2.7.0 Super Dev Mode,更改后不要重新编译服务器端代码
【发布时间】:2015-08-23 14:39:03
【问题描述】:

我开始学习 GWT。

我选择了最新版本 (2.7.0)。

我已经编写了Entry point 类来显示起始页并调用 rpc 到服务器以执行某些功能。

我在 Entry point 类的客户端源代码中所做的每项更改都会导致自动重新编译(热插拔),因此我可以立即看到我已应用的更改。

我的问题是它只适用于客户端代码

它不适用于服务器端代码。要查看服务器端代码的变化,我必须停止服务器和控制台,然后再次运行它,这非常非常烦人。

所以我的问题是:

  • gwt app server 在 SuperDevMode 2.7.0 版本的行为是否正常?还是我做错了什么?
  • 我应该如何处理?

请给我你的想法。

顺便说一句:我将 GWT 与 eclipse 和 Google 插件一起使用。


编辑

我想知道 Maven GWT 项目怎么样?如何处理?

【问题讨论】:

    标签: java gwt hotswap gwt-super-dev-mode


    【解决方案1】:

    你描述的是正常行为。

    在不重启服务器的情况下刷新时有几种方法可以重新加载服务器端代码:

    1. 内置的 Web 服务器确实支持热交换代码,但前提是您不修改方法或类签名。如果您确实更改了它们(或添加了类或方法),则需要重新启动服务器。
    2. 您可能需要将 Eclipse 配置为自动将任何代码更改重新发布到您的 Web 服务器。
    3. 有 3rd Party Eclipse 插件改进了热代码重载机制,例如JRebel,即使您更改方法或类签名也允许热代码替换。

    【讨论】:

    • 你能给我更多关于 2 解决方案的信息吗?如何建设项目?如何启动服务器?使用什么服务器,内置 Jetty 或 Tomcat?如何在eclipse中配置它?也许一些有用的链接?
    • 我在 Eclipse 中使用 Tomcat 和“服务器”视图(请参阅help.eclipse.org/juno/…)来启动和停止它。 “服务器”视图中还有一个“发布”按钮,我使用它来发布更改而无需重新启动服务器。
    • 您使用Serversviews/tab 首次启动服务器,而不是使用RMB -> Run as Web application(GWT Super Dev Mode),我理解正确?
    • 可以,但是要启动 Tomcat,而不是 GWT 内置的 Jetty 服务器。
    【解决方案2】:

    在 DevMode 中有一个“重新加载 webapp”按钮。使用“裸”DevMode 时,它​​位于“Jetty”选项卡中,使用 GPE 时,Eclipse 视图中有一个黄色的双旋转箭头。它将重新启动 Web 应用程序,就像您在独立服务器中重新部署它一样。

    【讨论】:

    • 我知道这个解决方案。这还不错。但它不会自动工作。我正在寻找可以为我完成这项工作的解决方案。它也不适用于 maven gwt 项目。
    • “不适用于 maven 项目”是什么意思?如果您使用 IDE,它将即时重新编译类(嗯,取决于 IDE),因此它的工作方式相同。如果没有 IDE,那么是的,您必须触发重新编译,您可以为此使用文件观察程序。替代方法是不在 DevMode 中托管您的服务器端代码,而是使用您的 IDE 可以自动重新部署到的 servlet 容器。
    • 我无法将 gwt maven 项目设置为与 eclipse 一起使用。我没有像 GPE 那样的run as super dev mode 选项。 但在服务器代码更改后它仍然不会自动运行。我必须手动完成。
    【解决方案3】:

    我找到了这个解决方案: https://github.com/jbarop/gwt-hotdeployment 它似乎为开发人员完成了这项工作。

    但它已经很老了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 1970-01-01
      • 2013-06-04
      • 2015-01-27
      • 1970-01-01
      • 2022-01-04
      相关资源
      最近更新 更多