如何将 GWT DevMode 的自定义子类迁移到 GWT 2.7.0 超级开发模式

How to migrate a a custom sublass of GWT DevMode to GWT 2.7.0 Super dev mode

很长一段时间以来,我们 运行 在 Eclipse 中使用 com.google.gwt.core.ext.ServletContainerLauncher 和 com.google.gwt.dev.DevMode.

的自定义子类来构建基于 GWT 的应用程序

这是为了让我们能够 运行 我们的自定义(最新)Jetty,随着时间的推移,它为我们提供了一些其他控制,即在 Eclipse 中以稍微不同的方式启动服务器,以便允许文件围绕 Eclipse 项目传播,而不是在它们最终进入生产环境的地方。

这些实际上是 JettyLauncher.java and DevMode.java

的 displacing/reimplementing/overriding 位

现在我正在尝试升级到 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 module "客户端“可能需要(重新)编译”。我看到 Eclipse 启动配置现在提供超级开发模式和 "classic" 模式之间的选择。我还没有改变它(仍然在 "classic")但我们的想法是我们需要进入超级开发模式(主要是因为速度和支持,但 IDE 中的经典功能和调试将被错过)。

我试图找到有关更改(或需要更改代码,例如我的代码)以过渡到 2.7 的文档,但到目前为止失败了。有人可以帮忙吗?

谢谢!

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

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