【问题标题】:GWT ECLIPSE - module 'package.module' may need to be (re)compiled when linkedGWT ECLIPSE - 链接时可能需要(重新)编译模块“package.module”
【发布时间】:2013-04-24 01:21:14
【问题描述】:

当我从我的主页 (ToDoList.html) 链接到我的“AllTask​​s”页面 (AllTask​​s.html) 时,我收到了这个 module 'tdlat.AllTasks' may need to be (re)compiled。但是当我直接从 AllTask​​s 页面运行时,我没有收到此错误。我在开发模式下运行它。

文件包

URL 链接到错误的代码

Anchor link = new Anchor(true);
horizontalPanel_1.add(link);
link.setHTML("All Tasks");
link.setHref("AllTasks.html");

我的链接链接到一个单独的模块。

编辑

link.setHref("AllTask​​s.html?gwt.codesvr=127.0.0.1:9997")

解决了我的问题,但我不太确定如何在生产模式下也能做到这一点。 这是我到目前为止所拥有的。

if (GWT.isProdMode()){
    // What goes here? Thanks!      
}
else
{
    link.setHref("AllTasks.html?gwt.codesvr=127.0.0.1:9997");
}

感谢您的帮助!如果有任何混淆,请告诉我。

【问题讨论】:

  • 您可能需要在开发模式下使用link.setHref("AllTasks.html?gwt.codesvr=127.0.0.1:9997")(您可以使用GWT.isProdMode() 进行检查)。我不确定这是否真的是问题所在,这就是为什么这是评论,而不是答案。但这两种方式都没有什么坏处,尤其是如果您打算对其进行调试。
  • 谢谢你,我试过了,我仍然得到同样的错误。
  • 我刚刚纠正了一个错误,我写了“codesrv”,“codesvr”是正确的。
  • 感谢您解决了问题。我如何使这项工作也适用于生产模式?谢谢!
  • if (GWT.isProdMode()){ 这里会发生什么? }else { link.setHref("AllTask​​s.html?gwt.codesvr=127.0.0.1:9997"); }

标签: gwt eclipse-plugin


【解决方案1】:

在开发模式下,需要附加参数gwt.codesvr。所以,你可以使用

if(GWT.isProdMode()) {
   link.setHref("AllTasks.html");
} else {
   link.setHref("AllTasks.html?gwt.codesvr=127.0.0.1:9997");
}

GWT.isProdMode() 在生产模式下返回 true,在开发模式下返回 false (127.0.0.1:8888),并由 GWT 编译器优化,因此else 中的所有内容都不会显示在生成的 JavaScript 代码中,好像你刚刚写了link.setHref("AllTasks.html")。它是一个用于在 DevMode 中进行各种分析的简洁工具,不会降低生产系统的速度。

【讨论】:

  • 感谢 MarioP 的帮助。
猜你喜欢
  • 1970-01-01
  • 2013-07-04
  • 2013-08-01
  • 2015-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
相关资源
最近更新 更多