【发布时间】:2013-06-20 16:39:18
【问题描述】:
我正在为一个 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
【问题讨论】:
-
我猜在 intellij 端或其他地方有一个缓存文件没有被清除。那些 gwt.rpc 文件之一?我不知道哪个目录和什么不同步。
-
我认为你需要编译GWT项目然后运行。每当您在 GWT 共享文件夹或 RPC 服务中进行任何更改时,您都应该在运行前编译 GWT。
-
我已经完成了完整的 GWT 编译、清理(尽我所能),但仍然遇到同样的错误。
-
我在让 Enums 正确使用 RPC 时遇到了很多问题。我最终只是为他们创建了一个包装 POJO(id,description)。
标签: java gwt tomcat intellij-idea gxt