我正在使用 eclipse 开发一个 GWT 应用程序,我想知道是否有一种方法可以热交换我所做的客户端代码更改,而无需每次都进行完整的 Google 编译。目前,当我修改代码时,我会进行 Google 编译,然后单击重新加载服务器按钮,然后刷新浏览器以获取更改。这开始变得有点痛苦,因为当我可能只修改了一个 UI 字符串时,需要 10 - 20 秒才能完成完整编译,所以想知道是否有更快的方法。
2 回答
如果您想查看客户端代码中的更改,请点击浏览器中的刷新按钮。
如果您需要调试功能,请使用 Debug As => Web Application。根据浏览器的不同,启动速度可能会慢一点(或慢很多)。
如果您不需要调试功能,请使用 Run As => Web Application。它开始得更快。您仍然会在开发模式和控制台选项卡中看到所有错误。
如果对服务器端代码进行更改,则必须使用Eclipse中专用开发模式视图的专用按钮重新加载 Web 服务器。
除非插件告诉你这样做,否则你永远不需要重新编译。
请参阅https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#DevGuideDevMode
添加到安德烈的答案假设我们正在更改按钮单击时调用的功能。
1)我们通常在调用的函数中更改代码行,然后在 UI 中再次单击按钮。无需使用刷新按钮重新加载整个应用程序。
2)如果更改涉及无法热交换的代码 - 示例类更改,例如添加新的类变量,那么您需要刷新浏览器。您有时可以忽略 Eclipse 警告,抱怨它不能热插拔。
3)如果内存不足,则需要关闭并重新启动开发模式。
4)如果您的服务器端占用内存,那么使用外部服务器而不是码头可能会更好,以避免每次启动开发模式时服务器重新启动所消耗的时间。