Java 在at RpcMap中面临空指针异常?

Java 在at RpcMap中面临空指针异常?,java,gwt,serialization,gxt,Java,Gwt,Serialization,Gxt,我试图从文件中读取服务器端对象的序列化DTO,我可以毫无例外地读取它,但在rpc回复客户端时抛出一些异常之后 java.lang.NullPointerException at com.extjs.gxt.ui.client.data.RpcMap.size(RpcMap.java:198) 问题是什么 我使用的是GXT2.2.5 这是一个服务器端代码 public List<ShellCommand> getCommands(String user, String platfo

我试图从文件中读取服务器端对象的序列化DTO,我可以毫无例外地读取它,但在rpc回复客户端时抛出一些异常之后

 java.lang.NullPointerException
at com.extjs.gxt.ui.client.data.RpcMap.size(RpcMap.java:198)
问题是什么

我使用的是GXT2.2.5

这是一个服务器端代码

public List<ShellCommand> getCommands(String user, String platform)
        throws CVSServiceException {
        readFromFile();
        if(commands.isEmpty())
            return null;
        else
            return commands;
}

private void readFromFile(){
    File readFile = new File(DIR, SHELLCOMMAND);
    if(readFile.exists()){
        try{
            InputStream file = new FileInputStream(readFile);
            InputStream buffer = new BufferedInputStream( file );
            ObjectInput input = new ObjectInputStream ( buffer );
            try{
                commands = (List<ShellCommand>) input.readObject();
            } catch(Exception e){
                e.printStackTrace();
            } finally{
                input.close();
            }
        } catch(Exception e){
            e.printStackTrace();
        }
    }
public List getCommands(字符串用户、字符串平台)
抛出CVSServiceException{
readFromFile();
if(commands.isEmpty())
返回null;
其他的
返回命令;
}
私有void readFromFile(){
File readFile=新文件(DIR,SHELLCOMMAND);
if(readFile.exists()){
试一试{
InputStream文件=新文件InputStream(readFile);
InputStream buffer=新的BufferedInputStream(文件);
ObjectInput输入=新ObjectInputStream(缓冲区);
试一试{
commands=(List)input.readObject();
}捕获(例外e){
e、 printStackTrace();
}最后{
input.close();
}
}捕获(例外e){
e、 printStackTrace();
}
}

我可以正确地阅读和感觉我的列表
命令
,但是在从客户端调用
getcommands()
之后,它抛出这个错误,导致我的RPC调用失败?

是否
ShellCommand
类是可序列化的?在
ShellCommand
中的默认构造函数??