2

我正在为 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

4

2 回答 2

2

尝试mvn clean install整个项目(但我希望你尝试过......)以及mvn gwt:cleanGWT 部分。同时删除src/main/webapp/.

如果真的是 IntelliJ 缓存的问题,请尝试File -> Invalidate caches.

于 2013-06-25T07:29:56.187 回答
1

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

有时,GWT 会输出源目录下的所有内容,并且不会被“mvn clean”清理干净。查找 .rpc 或 .cache.html 文件以找出 maven 将输出放在哪里并删除您自己没有编写的任何内容。

于 2013-06-25T01:43:56.233 回答