2013-11-01 31 views
0

我試圖使用RPC進行從客戶端到服務器端的調用,並且在設置Web應用程序時,控制檯顯示錯誤。「com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException」出現在控制檯上

com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:此應用程序已過期,請單擊瀏覽器上的刷新按鈕。 (阻止嘗試訪問'com.mycompany.project.client.Connection'接口,這不是'com.mycompany.project.server.MySQLConnection'實現的;這可能是配置錯誤或黑客攻擊)

Is there任何解決方案,因爲我很困難在這裏。

回答

0

檢查你的gwt-servlet.jar和你的gwt-user.jar。看起來他們有不同的版本。

+0

可能我澄清兩個jar文件可以在我加入作爲外部JAR我的參考庫中找到。在那種情況下,我如何檢查每個jar文件的版本? – ZhenLiang

0

問題是,製作RPC請求的客戶端代碼與服務器代碼是不同的版本。您只需清除瀏覽器上的緩存並強制重新加載頁面上的所有資源即可恢復。

如果不是,這裏是我爲完全清理項目而寫的一個ant腳本。我把它和我所有的項目一起使用。修改它以匹配你的項目,運行它,然後運行Project> Clean ...然後做一個Java編譯,然後GWT編譯。清除瀏覽器中的緩存,然後查看是否仍然存在問題。

<?xml version="1.0" encoding="utf-8" ?> 
<project name="YOUR_PROJECT_NAME_HERE" default="clean" basedir="."> 

    <target name="clean" description="Cleans this project"> 
     <!-- <delete dir="war/common" failonerror="false" /> --> 
     <!-- <delete dir="war/gwt" failonerror="false" /> --> 
     <!-- add more delete tags for whatever modules you may have, just like above --> 

     <delete dir="gwt-unitCache" failonerror="false" /> 
     <delete dir="war/WEB-INF/classes" failonerror="false" /> 
     <delete dir="war/WEB-INF/deploy" failonerror="false" /> 
     <delete> 
      <fileset dir="." includes="*.war" /> 
     </delete> 
    </target> 

</project> 
+0

我已經完成了上面提到的所有相關內容,但同樣的錯誤仍然彈出。順便說一下,我的戰爭/ Web-Inf文件不包含子文件夾調用「類」是否正常? – ZhenLiang

+0

至於你寫的XML,我想問問它是否放在之間....? – ZhenLiang

+0

對不起,我忘了解釋XML位。將我的XML保存在項目根目錄內名爲'clean.xml'的文件中。右鍵單擊它,運行方式> Ant構建。存在'WEB-INF/classes'目錄,但Eclipse沒有顯示它,因爲它被設置爲項目的「輸出」文件夾。很抱歉聽到它沒有奏效。你還可以在Eclipse中檢查你的「問題」視角,看看它是否顯示任何GWT SDK版本問題? – Churro