0

很长一段时间以来,我们使用 com.google.gwt.core.ext.ServletContainerLauncher 和 com.google.gwt.dev.DevMode 的自定义子类在 Eclipse 中运行我们基于 GWT 的应用程序。

这是为了允许我们运行我们的自定义(最新)Jetty,并且随着时间的推移,它给了我们一些其他控制,即在 Eclipse 中启动服务器的方式略有不同,以便允许文件在 Eclipse 项目中传播,而不是在哪里他们最终投入生产。

这些有效地取代/重新实现/覆盖JettyLauncher.javaDevMode.java的位

现在我正在尝试升级到 GWT 2.7,但这不再有效。具体来说,它始于:

Started code server on port 9997
Loading modules
   com.<...>.ClientDev
      Public resources found in...
      Translatable source found in...
Starting HTTP on port 8008

我得到的只是臭名昭著的“GWT 模块”客户端“可能需要(重新)编译”。我看到 Eclipse 启动配置现在提供了超级开发模式和“经典”模式之间的选择。我还没有改变它(仍然是“经典”),但我们的想法是我们需要进入超级开发模式(主要是因为速度和支持,但会错过 IDE 中的经典功能和调试)。

我试图找到有关更改的文档(或需要在我的代码中更改)以升级到 2.7,但到目前为止失败了。任何人都可以帮忙吗?

谢谢!

4

1 回答 1

0

我没有找到任何文档,但我成功开始了。以下是我必须做的事情:

  1. 我实际上根本不需要更改我的启动器/开发模式代码。
  2. 必须修改 Eclipse *.launch 文件以添加 -nosuperDevMode 参数。由于它自己的嵌入式容器和我的新版本之间的冲突,我无法让超级开发模式在其中工作,我不想花时间解决这个问题。
  3. 使用以下参数创建一种独立启动 com.google.gwt.dev.codeserver.CodeServer 的新方法:-bindAddress [same-address-as-for-the-main-one] -port 9876 -launcherDir [war-folder-路径] [GWT-模块名称]
  4. 清除所有 cookie。CodeServer 有缓冲区溢出(http 错误 413),因为我有太多的 cookie。
  5. 直接访问 CodeServer URL 以将两个小书签(Dev Mode On、Dev mode Off)添加到浏览器。
  6. 我预编译了我的应用程序一次只是为了确保我有结构,但我认为这不是必需的。
  7. 先启动我的服务器。
  8. 其次启动代码服务器。
  9. 使用小书签打开开发模式。
  10. 访问我的应用程序。
于 2015-05-10T04:33:52.497 回答