2010-06-04 61 views
1

我在Vaadin斜升,每當我嘗試和運行演示應用程序我得到這個JavaScript警告Vaadin - GWT錯誤「模塊XXX可能需要重新編譯

GWT module 'com.vaadin.terminal.gwt.DefaultWidgetSet' may need to be recompiled 

我試過。清理項目無濟於事。

正如我說過的,我斜坡上升,所以我敢肯定有一些簡單的步驟,我丟失或我沒有把握的概念。

回答

11

我不知道什麼Vaadin,但有在其中出現此錯誤的更一般的情況下:

只要你在Eclipse測試,您的應用程序的動態編碼仍然是真正的Java編碼在JVM中運行。通過可通過套接字訪問的調試器提供此編碼。你得到的是類似如下的URL:

http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997

與此codesvr東西是你的Java代碼的Eclipse託管調試過程。

在您的應用程序可以獨立運行之前,GWT必須將您的Java代碼轉換爲JavaScript;針對每種瀏覽器類型(Firefox,WebKit,Opera,...)以及您想要支持的語言生成單獨版本的代碼。只有一次這樣做,纔可以通過

http://127.0.0.1:8888/MyApp.html

訪問你的應用程序通常僅在Eclipse中運行我的應用程序的星期後,我會設法對編譯換瀏覽器的步驟忘記,並想知道消息。如果不使用Ant任務,啓動編譯器的方法是在項目的上下文菜單中鍵入Google|GWT Compile。完成之後,應用程序中的JS變得充實,並且您的應用程序可以在客戶端沒有Java的情況下運行。

當然,消息消失。

0

Carl Smotricz是絕對正確的。

只在最上面的菜單上清理和生成項目不起作用。

在部署前,右鍵單擊GWT項目時,必須在上下文菜單上使用「Google | GWT編譯」。 如果主機網頁嘗試在Eclipse外部的WAS上部署基於GWT的Web應用程序,則該錯誤可能不會在主機網頁末尾添加「?gwt.codesvr = 127.0.0.1:9997」。

0

您可能需要清除瀏覽器緩存。瀏覽器正在使用的已編譯的js可能不是最近編譯的js。

在Chrome中,您可以看到緩存的js是否在開發人員工具窗口中使用(ctrl + shift + i)。在大小列中,它會說(從緩存)而不是實際大小。然後,您可以右鍵單擊並清除瀏覽器緩存。 ctrl + r重新加載,錯誤應該消失。

0

服務器重新啓動爲我做了工作。 我曾嘗試清除緩存,清理和重建..但我仍然收到相同的警告消息。 服務器重新啓動使其重新加載最新編譯的戰爭中的所有stull。 這是一個打擊和審判,我很高興它工作:) :)