当前位置: 首页 > 知识库问答 >
问题:

如何在使用反序列化时修复java.lang.ClassNotFoundException

长孙泉
2023-03-14

我在Java方面遇到了问题,如果我使用序列化,它可以很好地工作,但是当我使用反序列化时,它会抛出一个Java.lang.ClassNotFoundException。

Exception in thread "main" java.lang.ClassNotFoundException: javatpointpractice.Information
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:468)
    at java.base/java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:782)
    at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2028)
    at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1895)
    at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2202)
    at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1712)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:519)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:477)
    at deserializer.Deserializer.main(Deserializer.java:21)
public class Deserializer {

    public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
            
        Information ms = null;
        
        FileInputStream fileInput = new FileInputStream("C:\\Users\\usetr\\Documents\\Java WorksSpace\\NETBEANS\\TutorialsPointPractice\\outputs.ser");
        ObjectInputStream objectInput = new ObjectInputStream(fileInput);
        
        ms = (Information) objectInput.readObject();
        objectInput.close();
        fileInput.close();
        
        
        System.out.println(ms.name);
        System.out.println(ms.age);
    }
}
public class Information implements Serializable{
    
    String name;
    int age;

}

共有1个答案

鲁鹤轩
2023-03-14

您的类名应该是information,而不是MySerializable。现在您已经解决了这个问题,解决了这个类的编译问题,代码就可以按照您的要求执行了。

 类似资料:
  • 我需要通过flink消费Kafka,不幸的是,Kafka消息是在serde中使用原型,完全不知道如何处理它,这里是来自互联网的代码,但我不能使它工作。 这不起作用,它会让NPE: 有人知道我做错了什么吗?使用twitter ProtobufSerializer是唯一值得拥有protobuf的方法吗?还是还有别的路要走?

  • 问题内容: 我有一个问题。我想使用JAXB将一个对象转换为另一个对象。就像在中,我有一个class 和另一个class ,它们都有相同的参数,实际上都是相同的(复制粘贴),但是包不同。我想使用进行它们之间的转换。 怎么做,请帮帮我。 问题答案: 您可以执行以下操作。 注意: 不需要利用JAXBSource将数据具体化为XML。 它在对象模型上不需要任何注释。 com.home.Student co

  • 嗨,我有LogEventObject在客户端用于记录事件,我想使用REST API将其发送到服务器。我将LogEventObject转换为json字符串,并通过REST将其作为有效载荷发送。在服务器端,我使用Groovy,当我尝试做对象apper.read值()时,我得到以下错误。 com.fasterxml.jackson.databind.JsonMappingExc0019:找不到非具体的集

  • 当JSON字符串{“a”:1}被反序列化时,数字100应该添加到值1中。在jsonb中,这是通过setter方法实现的,但Gson忽略了setter方法。如何让Gson使用setter方法?或者,如果这不可能,2022年,Gson中的setter推荐的替代方案是什么?

  • 问题内容: 我有此JSON,但无法弄清楚如何将其转换为C#中的对象列表。 这是JSON: 我尝试使用的代码: 无济于事。如何使用Newtonsoft的JSON库(Json.Net)将JSON反序列化为这些对象的列表? 问题答案: 您可以使用