编译时user.agent值与运行时user.agent值不匹配

时间:2012-06-03 16:11:44

标签: java eclipse gwt compilation

我曾经在Mozilla运行过一款应用,但我决定使用Chrome。我在Eclipse中使用BlahBlahBlahSafari.gwt.xml菜单选项和Eclipse中正确的入口点模块编译项目时选择<set-property name="user.agent" value="safari" />(包含Google/GWT Compile)。在编译项目时生成JS,我认为我不会有任何问题。但我收到了这条消息:

ERROR: Possible problem with your *.gwt.xml module file.
The compile time user.agent value (gecko1_8) does not match the runtime user.agent value (safari). Expect more errors.

Eclipse中Run Configurations...菜单中的参数似乎没问题。这种行为可能是什么原因以及我没有考虑到什么?提前谢谢。

3 个答案:

答案 0 :(得分:3)

GWT提供了为一组浏览器编译javascript的选项。此配置在模块XMl文件BlahBlahBlahSafari.gwt.xml中完成。它使用:

完成
<set-property name="user.agent" value="ie6,gecko,gecko1_8" />

适用于IE和Firefox。要仅为Chrome编译javascript,请使用:

<set-property name="user.agent" value="safari" />

答案 1 :(得分:0)

最有可能的解决方案是,您的BlahBlahBlahSafari.gwt.xml更改未获取。您说您将user.agent设置为safari并在Chrome中加载已编译的应用。这是一场完美的比赛。消息“编译时user.agent值(gecko1_8)...”告诉您,您正在加载的应用程序实际上没有为Chrome编译,它是为gecko1_8编译的。

确保您编译的文件夹实际上是您认为编译到的文件夹。确保您真正打开浏览器中新编译的文件,而不是旧应用程序的旧副本。确保应用程序加载器(*.nocache.js)确实没有缓存。如果您使用超级开发模式,请确保代码服务器不运行旧版本的应用程序(重新启动代码服务器或让代码服务器重新编译模块)。

答案 2 :(得分:0)

还检查任何导入的GWT模块的user.agent声明