我正在为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
答案 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放置输出的位置,并删除您自己未编写的任何内容。