Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
现有类的子类的Java ClassNotFoundException_Java_Classnotfoundexception_Extend_Objectinputstream - Fatal编程技术网

现有类的子类的Java ClassNotFoundException

现有类的子类的Java ClassNotFoundException,java,classnotfoundexception,extend,objectinputstream,Java,Classnotfoundexception,Extend,Objectinputstream,我有一个服务器项目,其中我需要通过服务器将一个对象从一台计算机发送到另一台计算机。对象是一个特定的游戏,它扩展了游戏。服务器知道它接收到的对象属于Game类型,但无权访问SpecificGame或任何其他扩展Game的类。然后服务器将这个对象传递到另一台计算机上,一切正常 我有多个扩展游戏的类(我正在使用这个服务器开发的几个电脑游戏),我不断地修改和添加这些类,而不修改游戏本身 然而,最近,服务器为SpecificGame抛出ClassNotFoundException,即使SpecificGa

我有一个服务器项目,其中我需要通过服务器将一个对象从一台计算机发送到另一台计算机。对象是一个特定的游戏,它扩展了游戏。服务器知道它接收到的对象属于Game类型,但无权访问SpecificGame或任何其他扩展Game的类。然后服务器将这个对象传递到另一台计算机上,一切正常

我有多个扩展游戏的类(我正在使用这个服务器开发的几个电脑游戏),我不断地修改和添加这些类,而不修改游戏本身

然而,最近,服务器为SpecificGame抛出ClassNotFoundException,即使SpecificGame扩展了服务器识别的游戏。如果我将服务器作为jar从eclipse中SpecificGame所在的同一项目文件夹中导出,它可以正常工作,但这意味着每次修改扩展游戏和服务器的内容时,我都必须导出jar并重新启动服务器

我一直在使用ObjectInputStream.readObject()方法来读取扩展游戏的类,这引发了异常

请帮我找出原因

不幸的是,我不能在网上发布代码细节


谢谢

当您将新类添加到通信的一端时,您当然也需要将相同的类添加到通信的另一端。这意味着,您必须将这些类重新部署到服务器,并重新启动它


否则,就像您的情况一样,服务器会从一些序列化信息中获取重建
SpecificGame
对象的信息,但是在不知道什么是
SpecificGame
的情况下,他应该如何做呢?

在读取了SpecificGame之后,您如何铸造它
(游戏)ObjectInputStream.readObject()
(SpecificGame)ObjectInputStream.readObject()
?我使用(游戏)可以使用任何类,包括SpecificGame,通过服务器扩展游戏