GWT应用程序部署到Tomcat服务器时无法正常工作

GWT应用程序部署到Tomcat服务器时无法正常工作,gwt,Gwt,我有一个小小的web应用程序,在Eclipse中部署到应用程序引擎时可以正常工作。 但是,当我想将我的应用程序部署到我的Tomcat服务器时,我遇到了一个错误 我将war文件夹的内容直接复制到Tomcat的默认根文件夹中。 然后我在Eclipse内部的外部服务器上运行我的应用程序 在这一点上,一切正常——应用程序直接从浏览器的缓存加载 问题来了: 当我点击我的应用程序的一些功能时,google chrome开发控制台说“未捕获引用错误:未定义函数”,这些功能是通过GWT端的JSNI实现的。 我知

我有一个小小的web应用程序,在Eclipse中部署到应用程序引擎时可以正常工作。 但是,当我想将我的应用程序部署到我的Tomcat服务器时,我遇到了一个错误

我将war文件夹的内容直接复制到Tomcat的默认根文件夹中。 然后我在Eclipse内部的外部服务器上运行我的应用程序

在这一点上,一切正常——应用程序直接从浏览器的缓存加载

问题来了:

当我点击我的应用程序的一些功能时,google chrome开发控制台说“未捕获引用错误:未定义函数”,这些功能是通过GWT端的JSNI实现的。 我知道错误来自外部JS代码中的JS调用程序。调用方调用GWT客户端方法/函数(这就是为什么ext.JS代码中没有定义它)


关于如何解决这个问题有什么建议吗?

您有需要外部js文件的额外模块吗?有些模块要求js文件包含在war中,并包含在root.html文件中。可能您使用的库没有基本js函数

您可以将其添加到.gwt.xml文件中以打开堆栈跟踪

<set-property name="compiler.stackMode" value="emulated"/>
<set-configuration-property name="compiler.emulatedStack.recordLineNumbers" value="true"/> 
<set-configuration-property name="compiler.emulatedStack.recordFileNames" value="true"/> 
注意:确保您的记录器配置为使用您可以访问的内容。比如firebug或远程日志servlet

我目前在使用eclipse的生产和开发模式中使用Tomcat7。您可以在eclipse中配置服务器的tomcat实例,并使用“在外部服务器上作为WebApplication运行”。这将允许您在开发模式中查看异常


如果处于生产模式,还要确保没有?gwt.codesvr=127.0.0.1:9997。除非您运行开发代码服务器,否则这也会导致问题。

您是否尝试过在私人导航中运行Google Chrome?当我遇到同样的问题时,它帮助了我很多,因为这种模式不缓存页面(也不缓存脚本、图像等),我尝试过,但它没有解决我的问题。无论如何,我会记住的。
GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler()) {
    @Override
    public void onUncaughtException(Throwable cause) {
        logger.log(Level.SEVERE, "OOPS", cause);
    }
}