GWT 2.5.1和IntelliJ调试模式,可序列化异常

时间:2013-06-20 16:39:19

标签: java gwt tomcat intellij-idea gxt

我正在为GWT项目运行IntelliJ 12.1。我无法使GWT配置工作,我一直得到一个可序列化的例外。

我也在使用maven和tomcat并从maven运行web应用程序项目。例如。我将项目/ webapp构建到目标目录并从该目录运行tomcat。

错误:

java.lang.RuntimeException: com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: The response could not be deserialized

以下是我对GWT配置的设置:

-noserver -port 8080 -logLevel DEBUG -war /Users/bbrown/Projects/src/web/target/my-13.06.04-SNAPSHOT -startupUrl http://127.0.0.1:8080/home.html

具有讽刺意味的是,如果我运行远程调试,例如:

mvn gwt:debug -Dgwt.noserver = true

然后从IntelliJ启动远程调试(不使用GWT模式),我没有收到序列化错误。

这个类本身就是一个简单的枚举。我正在进行一个简单的rpc服务调用,在初始调用时,我得到上面的错误:

public enum Status implements Serializable, IsSerializable {
 Running, Disabled
}

我试图清除我能找到的所有缓存文件和目标目录,但我一直收到同样的错误。

如何在不收到此错误的情况下运行IntelliJ GWT配置?

运行:Mac10.7,Chrome,Tomcat7,IntelliJ12.1,gwt2.5.1

2 个答案:

答案 0 :(得分:2)

在整个项目上尝试mvn clean install(但我希望你尝试过它......)以及GWT部分的mvn gwt:clean。同时删除src/main/webapp/中的编译/临时文件。

如果它确实是IntelliJ缓存的问题,请尝试File -> Invalidate caches

答案 1 :(得分:1)

您是否在maven GWT插件中设置了输出目录?

有时,GWT会输出源目录下的所有内容,并且“mvn clean”不会清除它。查找.rpc或.cache.html文件,找出maven放置输出的位置,并删除您自己未编写的任何内容。