【问题标题】:The compile time user.agent value does not match the runtime user.agent value编译时 user.agent 值与运行时 user.agent 值不匹配
【发布时间】:2012-06-03 16:11:44
【问题描述】:

我曾经在 Mozilla 中运行过一个应用程序,但我决定使用 Chrome。在 Eclipse 中借助 Google/GWT Compile 菜单选项和 Eclipse 中的正确入口点模块编译项目时,我选择了 BlahBlahBlahSafari.gwt.xml(包含 <set-property name="user.agent" value="safari" />)。项目编译的时候一生成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... 菜单中的参数似乎没问题。这种行为的原因是什么,我没有考虑到什么?提前致谢。

【问题讨论】:

    标签: java eclipse gwt compilation


    【解决方案1】:

    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" />
    

    【讨论】:

    • 是的,我知道,就我而言,有一个value="safari"
    【解决方案2】:

    对此最有可能的解决方案是您对BlahBlahBlahSafari.gwt.xml 的更改未被拾取。您说您将user.agent 设置为safari 并在Chrome 中加载已编译的应用程序。这是一个完美的匹配。消息“编译时 user.agent 值 (gecko1_8) ...”告诉您,您正在加载的应用实际上不是针对 Chrome 编译的,而是针对 gecko1_8 编译的。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2011-12-21
        • 2014-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-10
        • 2011-09-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多