我在GWT应用程序的客户端部分有一个枚举,当我尝试运行与序列化问题相关的异常时,我得到一个异常.我做错了吗?我读到GWT支持枚举,我使用的是最后一个版本.
枚举:
public enum AnEnum implements Serializable {
ITEM_A("Item a description"), ITEM_B("Item b description");
private String description;
private AnEnum(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
Run Code Online (Sandbox Code Playgroud)
例外:
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer(ServerSerializationStreamWriter.java:742)
... 47 more
Caused by: com.google.gwt.user.client.rpc.SerializationException: Type '(...).client.(...).AnEnum' was not included in the set of types which can be serialized …Run Code Online (Sandbox Code Playgroud) 直截了当但令人发狂,我在RPC调用上遇到此错误:
处理此调用时抛出了IncompatibleRemoteServiceException.com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:com.milkrun.core.dto.UserBasket的类型签名无效
以下是导致问题的类:
public class UserBasket implements Serializable{
private static final long serialVersionUID = -6761554796753637352L;
public int userBasketID;
public String description;
public String userID;
public List<BasketItem> items;
public String createUserId;
public Timestamp createTs;
public String lastUpdateUserId;
public Timestamp lastUpdateTs;
public Timestamp effStartTs;
public Timestamp effStopTs;
}
Run Code Online (Sandbox Code Playgroud)
和BasketItem类型:
public class BasketItem implements Serializable {
private static final long serialVersionUID = -17764683871112216L;
public int basketItemID;
public String upc;
public String description;
public String brandName;
public BigDecimal price;
public String createUserId;
public Timestamp …Run Code Online (Sandbox Code Playgroud)