GWT编译的一些微妙之处 - "gwt模块可能需要(重新)编译."

Ril*_*ark 3 gwt

我正在为GAE部署一个应用程序.我在Eclipse中有一个项目设置,有三个独立的GWT模块,每个模块都有自己的HTML页面,入口点等.它们共享很多代码.

当我将应用程序部署到appengine时,两个模块工作正常.我可以完美地访问他们的HTML页面.第三个给我的错误是"gwt module'xyz'可能需要(重新)编译." 我曾尝试重新编译和重新部署两次,但没有用,也没有任何关于前进的想法.

关于这个问题的其他线程指向gwt.codeserver参数,实际上,如果我添加该参数,坏模块运行...但它似乎在开发模式下运行! 如果这是真的,我有点意外,因为我不想向任何人提供开发模式代码.

任何建议都会受到欢迎 - 我的工作基本上完全停止在这个问题上.

Ril*_*ark 8

我找到了自己的答案:在我的情况下,错误不是由于缺少gwt.codesvr参数引起的(就像在网上引用的所有其他情况一样).相反,我在模块定义gwt.xml文件中添加的模块重命名属性导致混淆.我将重述整个故事,以防其他人了解更多.

  1. 我创建了一个新模块和一个新的HTML页面.
  2. 模块的名称是com.reallylong.and.unwieldy,我的HTML页面来自com.reallylong.and.unwieldy/com.reallylong.and.unwieldy.nocache.js的javascript .
  3. 后来,我变得聪明并使用rename-to属性将com.reallylong.and.unwieldy重命名 为"short",而不是更改我的HTML代码.我忘了.

这几天没有影响到我,因为我猜eclipse非常聪明,可以重新编译这两个文件.谁知道.我怀疑gwt.codesvr参数实际上是启用这种模糊行为,从开发模式而不是从js文件加载代码.

最终,修复很简单:我更改了我的HTML文件,以便从short/short.nocache.js中提取js .它奏效了!哇噢!