java – GWT – 无法获取类的类型签名
发布时间:2020-12-14 23:57:34 所属栏目:Java 来源:网络整理
导读:我正在开发一个应用程序GWT,它可以搜索不同服务器上的文件.我在名为Search的类中的服务器包中有我的搜索代码.为了帮助搜索找到服务器,我将服务器位置放在名为Login的类中,该类位于共享包中.登录包含身份验证对象,用于存储单个服务器的信息. 调用Search的代码
我正在开发一个应用程序GWT,它可以搜索不同服务器上的文件.我在名为Search的类中的服务器包中有我的搜索代码.为了帮助搜索找到服务器,我将服务器位置放在名为Login的类中,该类位于共享包中.登录包含身份验证对象,用于存储单个服务器的信息.
调用Search的代码如下: SearchInterfaceAsync search = GWT.create(SearchInterface.class); AsyncCallback<Void> callback = new AsyncCallback<Void>() { @Override public void onFailure(Throwable caught) { System.out.println("Error: " + caught.getMessage()); } @Override public void onSuccess (Void results) { System.out.println("Success!"); } }; search.initialize(serverName,login,callback); search.searchServers(search,variousSearchParameters,callback); 当我运行程序并尝试搜索时,程序打印错误:无法获取类[Lcom.example.test.shared.Authentication;的类型签名. 身份验证的代码如下: public class Authentication implements Serializable { private static final long serialVersionUID = 5326256122438445301L; private String server; private String userName; private String password; public Authentication(String serverName){ server = serverName; } public Authentication(String serverName,String user,String pass){ server = serverName; userName = user; password = pass; } public String getServer(){ return server; } public String getUserName(){ return userName; } public String getPassword() { return password; } } 我试过更改类型声明,添加序列化,切换到IsSerializible,没有任何作用! 解决方法
您错过了一个:您必须具有默认(零参数)构造函数,否则无法创建新实例.反序列化过程创建一个对象,然后分配字段. 我相信你可以使这个构造函数受到保护,这样开发人员就不会意外地使用它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |