2012-06-03 41 views
3

有一個我曾經在Mozilla中運行的應用程序,但我決定使用Chrome。在Eclipse中編譯項目時,我選擇了BlahBlahBlahSafari.gwt.xml(其中包含<set-property name="user.agent" value="safari" />),其中包含Google/GWT Compile菜單選項和Eclipse中正確的入口點模塊。只要編譯項目時生成JS,我就認爲我不會有任何問題。不過,我得到這個消息:編譯時user.agent值與運行時user.agent值不匹配

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

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

是的,我知道,在我的情況下有一個'價值=「safari」'。 –

0

最有可能的解決方案是,你對BlahBlahBlahSafari.gwt.xml更改不會回升。你說你將user.agent設置爲safari並在Chrome中加載已編譯的應用程序。這是一個完美的匹配。消息「編譯時user.agent值(gecko1_8)...」告訴你,你正在加載的應用程序實際上沒有爲Chrome編譯,它是爲gecko1_8編譯的。

確保您編譯的文件夾實際上是您認爲要編譯到的文件夾。確保你真的在瀏覽器中打開新編譯的文件,而不是舊的應用程序的舊版本。確保應用程序加載器(*.nocache.js)確實沒有被緩存。如果您使用超級開發模式,請確保代碼服務器不會運行舊版本的應用程序(重新啓動代碼服務器或讓代碼服務器重新編譯模塊)。