Netbeans ClassNotFoundException

时间:2017-05-23 11:56:09

标签: java netbeans

我看过关于这个主题的各种帖子,但他们没有帮助我。我删除了我的Netbeans缓存,并且未选中“保存时编译”。我只是尝试加载.dat文件并使用那里序列化的数据。它在JavaEditor中完美运行,但我在Netbeans中得到了错误 public static void load(){ ArrayList<Example> ex = new ArrayList<Example>(); FileInputStream fis; ObjectInputStream ois; try{ fis = new FileInputStream("ExampleList.dat"); ois = new ObjectInputStream (fis); while (fis.available()>0){ Example exam = (Example)ois.readObject(); ex.add(exam); } ois.close(); fis.close(); } catch (Exception e){ System.out.println(e); }

我用来加载.dat的代码:

package ExampleTest;
import java.io.*;
public class Example implements Serializable{
 private String name;

public Example(){
}

//Getter and Setter

}

Example.jar:

Example ex = new Example();

在像ORA-29532 Java call terminated by uncaught java exception 这样的主要方法中做一些事情非常合适,所以netbeans应该找到这个类..

1 个答案:

答案 0 :(得分:0)

它是一个class version compatibility问题,这是因为您在尝试反序列化的序列化对象后对类进行了更改,因此新生成的serialVersionUID不等于前一个

因此您必须声明static long serialVersionUID,这样您就可以安全地对您的班级进行更改。

还要检查stackoverflow answer

希望有所帮助。