java - GWT - 无法获取类的类型签名

标签 java gwt

我正在开发一个在不同服务器上搜索文件的应用程序 GWT。我在名为 Search 的类中的服务器包中有我的搜索代码。为了帮助 Search 找到服务器,我将服务器位置放在一个名为 Login 的类中,该类位于共享包中。 Login 包含 Authentication 对象,它存储单个服务器的信息。

调用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,但没有任何效果!

最佳答案

I have tried changing the type declaration, adding Serialization, switching to IsSerializible, and nothing works!

您错过了一个:您必须具有默认(零参数)构造函数,否则无法创建新实例。反序列化过程创建一个对象,然后分配字段。

我相信您可以保护此构造函数,这样开发人员就不会意外使用它。

关于java - GWT - 无法获取类的类型签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30955582/

相关文章:

java - 为什么此代码有 "one off error"?

java - 如何自动隐藏 GWT MenuBar 子菜单?

java - java变量的生命周期

session - 具有无限 session 的 Tomcat 中的 GWT 应用程序

javascript - 开发模式需要 GWT 开发者插件

java - 使用 startManagingCursor() 的优缺点是什么

java - 用于 GWT 的静态 Google 地球 map

java - 从后缀表达式创建二叉树

java - JMockit - 期望返回旧值而不是与私有(private)字段关联的值

java - Robotium:如何获取 View 的 ID?或者如何将文本直接发送到 View ?