您是否有任何需要外部 js 文件的额外模块?某些模块要求将 js 文件包含在 war 中并包含在您的根 .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"/>
您还可以尝试使用 setUncaughtException 处理程序来查看在生产模式下引发的异常。打开模拟堆栈跟踪后,您应该能够获得包含代码行号的回溯。它不如开发模式,但对调试非常有用。
GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler()) {
@Override
public void onUncaughtException(Throwable cause) {
logger.log(Level.SEVERE, "OOPS", cause);
}
}
注意 确保您的记录器配置为使用您可以访问的内容。像萤火虫或远程日志记录 servlet。
我目前使用 eclipse 在生产和开发模式下使用 tomcat 7。您可以在 eclipse 中配置服务器的 tomcat 实例并使用“在外部服务器上作为 WebApplication 运行”。这将允许您在开发模式下查看异常。
如果您处于生产模式,还要确保您没有 ?gwt.codesvr=127.0.0.1:9997 。除非您正在运行开发代码服务器,否则这也会导致问题。